Let's please keeping this conversation on bioc-devel.
On 20/09/2022 22:36, Zhang Junpeng wrote:
Thanks for your reply, Herv?. I have found the cause of this error at https://github.com/paul-buerkner/brms/issues/1356 and https://github.com/tidyverse/dbplyr/issues/779. It is Brobdingnag which caused the bug which is a dependency from bridgsamplin. But, I have no way to solve this error now. It seems that several other packages have also the same error.
Just a workaround and not a real solution but maybe try to switch the order of the clusterProfiler and SPONGE reports? Best, H.
Regards,
Junpeng
Herv? Pag?s <hpages.on.github at gmail.com> ?2022?9?21??? 10:42???
Looks like there's a nasty clash between dbplyr (CRAN) and the devel
version of clusterProfiler:
?> library(clusterProfiler)
?> library(dbplyr)
Error in completeSubclasses(classDef2, class1, obj, where) :
?? trying to get slot "subclasses" from an object of a basic class
("NULL") with no slots
Error: package or namespace load failed for ?dbplyr?:
??.onLoad failed in loadNamespace() for 'dbplyr', details:
?? call: setClass(cl, contains = c(prevClass, "VIRTUAL"), where =
where)
?? error: error in contained classes ("character") for class ?ident?;
class definition removed from ?dbplyr?
This is on any platform with Bioc-devel and the latest version of
each
package:
?? > packageVersion("clusterProfiler")
?? [1] ?4.5.2?
?? > packageVersion("dbplyr")
?? [1] ?2.2.1?
Note that you need to load the two packages in this order to get this
error. Loading them in the opposite order works fine.
This seems to break miRspongeR thru a series of events that
involve the
imports made by the SPONGE package:? miRspongeR imports
clusterProfiler
and SPONGE, in that order, and SPONGE itself imports dbplyr via
tidyverse.
This is something you'll have to discuss with the clusterProfiler
and/or
dbplyr maintainers.
Finally note that, when miRspongeR is loaded, sessionInfo() reports
about 200 packages loaded via a namespace! This is obviously a very
fragile situation. Reducing that number would help make the
package less
vulnerable to these sorts of clash. Many of those "loaded via a
namespace" packages are actually a consequence of SPONGE itself
importing many many things (it imports the full tidyverse!), so
there's
probably some room for improvement on that side too.
Best,
H.
On 20/09/2022 13:32, Herv? Pag?s wrote:
> Hi Junpeng,
>
> FWIW the EpiCompare package seems to be failing in exactly the
same way:
>
>
>
>
> Also I can easily reproduce this on my laptop (Ubuntu 22.04):
>
> > BiocManager::install("miRspongeR")
> Bioconductor version 3.16 (BiocManager 1.30.18), R 4.2.0 Patched
> (2022-05-04
> ? r82318)
> Installing package(s) 'miRspongeR'
> trying URL
>
>
> Content type 'application/x-gzip' length 661557 bytes (646 KB)
> ==================================================
> downloaded 646 KB
>
> * installing *source* package ?miRspongeR? ...
> ** using staged installation
> ** libs
> /usr/bin/gcc -I"/home/hpages/R/R-4.2.r82318/include" -DNDEBUG
> `/home/hpages/R/R-4.2.r82318/bin/Rscript -e "Rcpp:::CxxFlags()"`
> -I/usr/local/include?? -fpic? -O3 -c complex.c -o complex.o
> /usr/bin/gcc -I"/home/hpages/R/R-4.2.r82318/include" -DNDEBUG
> `/home/hpages/R/R-4.2.r82318/bin/Rscript -e "Rcpp:::CxxFlags()"`
> -I/usr/local/include?? -fpic? -O3 -c registerDynamicSymbol.c -o
> registerDynamicSymbol.o
> /usr/bin/gcc -shared -L/home/hpages/R/R-4.2.r82318/lib
> -L/usr/local/lib -o miRspongeR.so complex.o registerDynamicSymbol.o
> -L/home/hpages/R/R-4.2.r82318/lib -lR
> installing to
>
/home/hpages/R/R-4.2.r82318/library/00LOCK-miRspongeR/00new/miRspongeR/libs
> ** R
> ** inst
> ** byte-compile and prepare package for lazy loading
> Error in completeSubclasses(classDef2, class1, obj, where) :
> ? trying to get slot "subclasses" from an object of a basic class
> ("NULL") with no slots
> Error: .onLoad failed in loadNamespace() for 'dbplyr', details:
> ? call: setClass(cl, contains = c(prevClass, "VIRTUAL"), where =
where)
> ? error: error in contained classes ("character") for class
?ident?;
> class definition removed from ?dbplyr?
> Execution halted
> ERROR: lazy loading failed for package ?miRspongeR?
> * removing ?/home/hpages/R/R-4.2.r82318/library/miRspongeR?
>
> The downloaded source packages are in
> ?? ??/tmp/RtmpzFvmcs/downloaded_packages?
> Updating HTML index of packages in '.Library'
> Making 'packages.html' ... done
>
> Let me take a closer look.
>
> H.
>
> On 20/09/2022 03:50, Zhang Junpeng wrote:
>> Hi Bioconductor community,
>>
>> When I build/check the miRspongeR R package (development version),
>> there is
>> an error as follows. The release version of the miRspongeR R
package
>> is OK.
>>
>> *Error: .onLoad failed in loadNamespace() for 'dbplyr', details:
>> ?? call: setClass(cl, contains = c(prevClass, "VIRTUAL"), where
= where)
>> ?? error: error in contained classes ("character") for class
?ident?;
>> class
>> definition removed from ?dbplyr?
>> Execution halted*
>>
>> How can I fix this error? The details of error here:
>>
>>
>>
>> Thanks in advance
>> Junpeng
>>
>> ????[[alternative HTML version deleted]]
>>
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
--
Herv? Pag?s
Bioconductor Core Team
hpages.on.github at gmail.com
Herv? Pag?s Bioconductor Core Team hpages.on.github at gmail.com [[alternative HTML version deleted]]