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

renozao renoz@o @end|ng |rom protonm@||@com
Wed Apr 8 18:19:59 CEST 2020


Thank you William for the reproducible example.

Currently I using the following (same as in William's example):
setClassUnion("mMatrix", c("Matrix", "matrix"))

Martin, are the changes made in the union class handling affecting the way we should declare them?
Thank you.

Bests,
Renaud

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, April 8, 2020 11:19 AM, William Dunlap <wdunlap using tibco.com> wrote:

> 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