[R-pkg-devel] Error creating union class: object ‘.__C__compMatrix’ not found

William Dunlap wdun|@p @end|ng |rom t|bco@com
Wed Apr 8 17:19:42 CEST 2020


Use trace() to get a bit more detail - .__C_compMatrix is looked for in the
wrong environment with inherits=FALSE.

> setClassUnion("mMatrix", c("Matrix", "matrix"))
Tracing get(name, envir = env) on entry
    x=".AllMTable", envir="<environment: 0x21dcf10>", topenv="<environment:
namespace:methods>", inherits=TRUE
Tracing get(name, envir = env) on entry
    x=".MTable", envir="<environment: 0x2238cf0>", topenv="<environment:
namespace:methods>", inherits=TRUE
Tracing get(name, envir = env) on entry
    x=".AllMTable", envir="<environment: 0x21dcf10>", topenv="<environment:
namespace:methods>", inherits=TRUE
Tracing get("#HAS_DUPLICATE_CLASS_NAMES", envir = .classTable) on entry
    x="#HAS_DUPLICATE_CLASS_NAMES", envir="<environment: 0x2787710>",
topenv="<environment: base>", inherits=TRUE
Tracing get(name, envir = env) on entry
    x=".AllMTable", envir="<environment: 0x21dcf10>", topenv="<environment:
namespace:methods>", inherits=TRUE
Tracing get(name, envir = env) on entry
    x=".MTable", envir="<environment: 0x2238cf0>", topenv="<environment:
namespace:methods>", inherits=TRUE
Tracing get(name, envir = env) on entry
    x=".MTable", envir="<environment: 0x21dcf10>", topenv="<environment:
namespace:methods>", inherits=TRUE
Tracing get(".SigLength", envir = env) on entry
    x=".SigLength", envir="<environment: 0x21dcf10>", topenv="<environment:
namespace:methods>", inherits=TRUE
Tracing get(".SigLength", envir = env) on entry
    x=".SigLength", envir="<environment: 0x21dcf10>", topenv="<environment:
namespace:methods>", inherits=TRUE
Tracing get(name, envir = env) on entry
    x=".MTable", envir="<environment: 0x2238cf0>", topenv="<environment:
namespace:methods>", inherits=TRUE
Tracing get(".SigLength", envir = env) on entry
    x=".SigLength", envir="<environment: 0x2238cf0>", topenv="<environment:
namespace:methods>", inherits=TRUE
Tracing get(".SigLength", envir = env) on entry
    x=".SigLength", envir="<environment: 0x2238cf0>", topenv="<environment:
namespace:methods>", inherits=TRUE
Tracing get(cname, envir = cwhere, inherits = FALSE) on entry
    x=".__C__compMatrix", envir="<environment: R_GlobalEnv>",
topenv="<environment: R_GlobalEnv>", inherits=FALSE
Error in get(cname, envir = cwhere, inherits = FALSE) :
  object '.__C__compMatrix' not found
...

Bill Dunlap
TIBCO Software
wdunlap tibco.com


On Wed, Apr 8, 2020 at 7:52 AM William Dunlap <wdunlap using tibco.com> wrote:

> % R-devel --vanilla --quiet
> > library(Matrix)
> > setClassUnion("mMatrix", c("Matrix", "matrix"))
> Error in get(cname, envir = cwhere, inherits = FALSE) :
>   object '.__C__compMatrix' not found
> Error in setClassUnion("mMatrix", c("Matrix", "matrix")) :
>   unable to create union class:  could not set members "Matrix"
> > sessionInfo()
> R Under development (unstable) (2020-04-07 r78175)
> Platform: x86_64-pc-linux-gnu (64-bit)
> Running under: Ubuntu 16.04.6 LTS
>
> Matrix products: default
> BLAS/LAPACK: /usr/lib/libopenblasp-r0.2.18.so
>
> locale:
>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> other attached packages:
> [1] Matrix_1.2-18
>
> loaded via a namespace (and not attached):
> [1] compiler_4.1.0  grid_4.1.0      lattice_0.20-41
>
> Bill Dunlap
> TIBCO Software
> wdunlap tibco.com
>
>
> On Wed, Apr 8, 2020 at 7:35 AM Martin Maechler <maechler using stat.math.ethz.ch>
> wrote:
>
>> >>>>> renozao
>> >>>>>     on Mon, 30 Mar 2020 21:20:43 +0000 writes:
>>
>>     > Hi,
>>     > when R CMD check is run under R-devel (2020-03-29 r78108) I get the
>> following error at installation:
>>
>>     > Error in get(cname, envir = cwhere, inherits = FALSE) :
>>     > object ‘.__C__compMatrix’ not found
>>     > Error in setClassUnion("mMatrix", c("Matrix", "matrix")) :
>>     > unable to create union class:  could not set members "Matrix"
>>
>>     > This does not happen on R 3.6.3.
>>
>>     > I tried with Matrix listed in Depends but I still get the same
>> error.
>>
>>     > Is this linked to some changes in union classes or the Matrix
>> package?
>>
>>     > Thank you.
>>
>>     > Bests,
>>     > Renaud
>>
>> Hi Renaud,
>> One reason you got no response here, is because we don't even
>> know about which package you are talking.
>>
>> So there's nothing, anybody can reproduce from your posting.
>>
>> There have been changes in R's dealing with class unions etc,
>> notably even *relating* to an earlier bug report on class unions
>> exactly for such a case which was *triggered* when people built
>> on such Matrix classes.
>>
>> But we would really want to be able to reproduce what you are seeing..
>>
>> Best regards,
>> Martin Maechler
>>
>> ETH Zurich, R Core Team *and* maintainer("Matrix")
>>
>> ______________________________________________
>> R-package-devel using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>>
>

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list