Thank you Martin, Looks like the mMatrix class defined in Matrix is not exported in 3.6.3, maybe it is now exported in the current R-devel.
In this case I'd rather use a conditional import and definition. I'll try that route. Bests, Renaud Sent with ProtonMail Secure Email. ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Saturday, April 18, 2020 12:36 PM, Martin Maechler <maech...@stat.math.ethz.ch> wrote: > > > > > > renozao > > > > > > on Wed, 8 Apr 2020 16:19:59 +0000 writes: > > > 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 > > > Thank you, Renaud, and Bill Dunlap. > > There is obviously a bit of a problem there, but it may well be > "only" a problem in error handling. > > As Bill's trace(get, ..) shows, R tries to get > "#HAS_DUPLICATE_CLASS_NAMES" which is indeed an indication of the problem: > > You are trying to REdefine a class union that already exists > identically in the Matrix package: > In the R-forge development version of 'Matrix', it is > line 717 of Matrix/R/AllClass.R (and that will be close also > in the CRAN version of Matrix). > > So at least for you, Renaud, the solution to the problem is easy: > Just don't do what you should not do: What you want is already > part of Matrix.... and after searching: It's been part of > Matrix since ca. July 2012 ... > > ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > But yes, there's a buglet in the 'methods' package currently, > which leads to a misleading error message > (It's arguable if it should give an error which it did not previously; > I think it would be quite a good idea to give at least a > warning as you are masking class definition of the Matrix > package which is in your search() path or at least among the > loaded namespaces at this time). > > Best, > Martin > > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > > > On Wednesday, April 8, 2020 11:19 AM, William Dunlap > <wdun...@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 <wdun...@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 > <maech...@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@r-project.org mailing list > > >>>> https://stat.ethz.ch/mailman/listinfo/r-package-devel > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > > R-package-devel@r-project.org mailing list > > > https://stat.ethz.ch/mailman/listinfo/r-package-devel > ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel