Question: edgeR package fails to load after install
0
gravatar for jenny.russ
8 months ago by
jenny.russ0
jenny.russ0 wrote:

 

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

edger install error • 380 views
ADD COMMENTlink modified 8 months ago by Aaron Lun24k • written 8 months ago by jenny.russ0

Hi, I met the same error. Do you find any good solution to this?

Thanks

ADD REPLYlink written 8 months ago by hongbo9190

It would probably help to include the full transcript of the attempt to install edgeR, and to include the output of sessionInfo().

ADD REPLYlink written 8 months ago by Martin Morgan ♦♦ 23k

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       

ADD REPLYlink modified 8 months ago • written 8 months ago by hongbo9190

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

$ bioc-3.8 CMD INSTALL edgeR_3.24.0.tar.gz
* installing to library ‘/Users/ma38727/Library/R/3.5/Bioc/3.8’
* installing *source* package ‘edgeR’ ...
** libs
g++ -std=gnu++11 -I"/Users/ma38727/bin/R-3-5-branch/include" -DNDEBUG  -I"/Users/ma38727/Library/R/3.5/Bioc/3.8/Rcpp/include" -I/usr/local/include   -fPIC  -g -O0 -c R_add_prior_count.cpp -o R_add_prior_count.o
g++ -std=gnu++11 -I"/Users/ma38727/bin/R-3-5-branch/include" -DNDEBUG  -I"/Users/ma38727/Library/R/3.5/Bioc/3.8/Rcpp/include" -I/usr/local/include   -fPIC  -g -O0 -c R_ave_log_cpm.cpp -o R_ave_log_cpm.o
...
g++ -std=gnu++11 -I"/Users/ma38727/bin/R-3-5-branch/include" -DNDEBUG  -I"/Users/ma38727/Library/R/3.5/Bioc/3.8/Rcpp/include" -I/usr/local/include   -fPIC  -g -O0 -c objects.cpp -o objects.o
g++ -std=gnu++11 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/lib -o edgeR.so R_add_prior_count.o R_ave_log_cpm.o R_calculate_cpm.o R_check_poisson_bound.o R_compute_apl.o R_compute_nbdev.o R_exact_test_by_deviance.o R_fit_levenberg.o R_fit_one_group.o R_get_one_way_fitted.o R_initialize_levenberg.o R_loess_by_col.o R_maximize_interpolant.o R_process_hairpin_reads.o R_simple_good_turing.o add_prior.o adj_coxreid.o fmm_spline.o glm_levenberg.o glm_one_group.o init.o interpolator.o nbdev.o objects.o -L/Users/ma38727/bin/R-3-5-branch/lib -lRlapack -L/Users/ma38727/bin/R-3-5-branch/lib -lRblas -L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin16/6.3.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm -Wl,-framework -Wl,CoreFoundation
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking.
installing to /Users/ma38727/Library/R/3.5/Bioc/3.8/edgeR/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (edgeR)

 

ADD REPLYlink written 8 months ago by Martin Morgan ♦♦ 23k

Hi Martin, Thanks very much! However, the command "R CMD INSTALL edgeR_3.24.0.tar.gz" still report error in my end.

ADD REPLYlink modified 8 months ago • written 8 months ago by hongbo9190

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.

ADD REPLYlink modified 8 months ago • written 8 months ago by Martin Morgan ♦♦ 23k

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.

ADD REPLYlink modified 8 months ago • written 8 months ago by Aaron Lun24k

Hi Aaron, Thank you. I will contact sysadmin about this.

ADD REPLYlink written 8 months ago by hongbo9190

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.

ADD REPLYlink modified 8 months ago • written 8 months ago by hongbo9190

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.

ADD REPLYlink written 8 months ago by Aaron Lun24k
Answer: edgeR package fails to load after install
1
gravatar for Aaron Lun
8 months ago by
Aaron Lun24k
Cambridge, United Kingdom
Aaron Lun24k wrote:

This is a very unusual error that I have not seen before. I would say that there is a problem with your GCC set-up - maybe because it's not linking to the correct C++ standard library? - so you'll have to talk to your sysadmin or whoever set up your build system.

ADD COMMENTlink written 8 months ago by Aaron Lun24k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 230 users visited in the last hour