Hi,
I have problems installing edgeR on R-3.5.1. I get the following error at the end of the install:
** testing if installed package can be loaded
Error: package or namespace load failed for ‘edgeR’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/opt/R-3.5.1/library/edgeR/libs/edgeR.so':
/opt/R-3.5.1/library/edgeR/libs/edgeR.so: undefined symbol: _ZNSt13runtime_errorC1EPKc
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/opt/R-3.5.1/library/edgeR’
Do you have an idea what the problem is and how I can solve this. I cannot install the package 'scater' without edgeR.
Thanks, Jenny
Hi, I met the same error. Do you find any good solution to this?
Thanks
It would probably help to include the full transcript of the attempt to install edgeR, and to include the output of
sessionInfo()
.Hi, Thanks. Following is the code and error information.
R CMD INSTALL edgeR_3.24.0.tar.gz
Error: package or namespace load failed for ‘edgeR’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/home/R/R_3_5_1/lib64/R/library/edgeR/libs/edgeR.so':
/home/R/R_3_5_1/lib64/R/library/edgeR/libs/edgeR.so: undefined symbol: _ZNSt13runtime_errorC1EPKc
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/home/R/R_3_5_1/lib64/R/library/edgeR’
> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux Server release 6.6 (Santiago)
Matrix products: default
BLAS: /home/R/R_3_5_1/lib64/R/lib/libRblas.so
LAPACK: /home/R/R_3_5_1/lib64/R/lib/libRlapack.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] BiocInstaller_1.32.1
loaded via a namespace (and not attached):
[1] BiocManager_1.30.2 compiler_3.5.1 tools_3.5.1
I realize there is a character limit, but it is the compile and link rather than load part of the installation that is likely to be useful. For me I have
Hi Martin, Thanks very much! However, the command "R CMD INSTALL edgeR_3.24.0.tar.gz" still report error in my end.
I know, but it reports an error after printing out a bunch of stuff...it does not fail after printing only the line that you show... or does it?
I think it would also be valuable to indicate how you retrieved the .tar.gz file.
It seems like your C++ standard library is... out of date? Perhaps missing altogether? Your linker is not able to find the
std::runtime_error
constructor, and that's been in the C++ standard since 2003 (at least). This probably represents an issue with your build environment - I would guess that there's some ABI incompatibilities between the system's C++ library and whatever GCC you're using. Probably worth talking to your sysadmin about this.Hi Aaron, Thank you. I will contact sysadmin about this.
Hi Aaron. I have checked the version of C++ standard library as showing in following:
strings /usr/lib64/libstdc++.so.6 | grep LIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
GCC version is 6.2.1. I am not sure where is the incompatibilities between them.
This page lists the symbol versions corresponding to the GCC version. The numbers you're showing correspond to GCC version 4.4.2 or earlier - quite old. This is probably the cause of ABI incompatibilities with object files created with GCC version 5.1.0 or later, read this.