Problem with Upgrade to Bioconductor 3.8 on Scientific linux (CentOS) 7
1
1
Entering edit mode
zacekm ▴ 10
@zacekm-18503
Last seen 6.1 years ago

Hello,

is Scientific linux or CentOS 7 supported for Bioconductor 3.8? When I run "BiocManager::install() a lot of packages doesn't load with errors: "/lib64/libstdc++.so.6: version GLIBCXX_3.4.20 not found or  CXXABI_1.3.9 not found.  As I understand, there is no way to upgrade GLIBC in Centos.

Thanks

Best Regard

Michal

upgrade • 1.3k views
ADD COMMENT
0
Entering edit mode
@martin-morgan-1513
Last seen 5 months ago
United States

There are no intentional restrictions on OS use. I would guess that you updated your system after updating R, and the location R found GLIBCXX_3.4.20 is different from where it resides now. Also it is usually helpful to simplify the installation to the first package that fails to install rather than trying to install many packages that all fail for the same underlying reason (maybe trying to install DESeq2 fails, but the reason is because the Rcpp library fails, so try installing / troubleshooting Rcpp rather than DESeq2). it would likely be helpful to see the full installation attempt of the first package that fails to install.

ADD COMMENT
0
Entering edit mode

The problem is, that the latest GLIBC version that comes with Centos is GLIBCXX_3.4.19. It is not possible to install or upgrade GLIBC to newer version.

 

> BiocManager::install("EBImage")
Bioconductor version 3.7 (BiocManager 1.30.4), R 3.5.1 (2018-07-02)
Installing package(s) 'EBImage'
trying URL 'https://bioconductor.org/packages/3.7/bioc/src/contrib/EBImage_4.22.1.tar.gz'
Content type 'application/x-gzip' length 12560218 bytes (12.0 MB)
==================================================
downloaded 12.0 MB

* installing *source* package ‘EBImage’ ...
** libs
gcc -m64 -std=gnu99 -I"/usr/include/R" -DNDEBUG   -I/usr/local/include   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic  -c EBImage.c -o EBImage.o
--- cut ---
** R
** inst
** byte-compile and prepare package for lazy loading
Creating a new generic function for ‘abind’ in package ‘EBImage’
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
Error: package or namespace load failed for ‘EBImage’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/var/R/library/EBImage/libs/EBImage.so':
  /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /var/R/library/EBImage/libs/EBImage.so)
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/var/R/library/EBImage’
* restoring previous ‘/var/R/library/EBImage’

 

ADD REPLY
0
Entering edit mode

You cut out the most informative part of the installation (the c++ compilation step) but the problem is that your system (not R) has an incompatibility --- the libstdc++ library, installed on your system, cannot find the CXXABI version that your system advertised as available. Likely the solution is a variant of https://stackoverflow.com/a/20357035/547331 but maybe someone with direct centos experience will respond.

ADD REPLY
0
Entering edit mode

You were right ;-), there was another gcc installed in /usr/local/bin, which was causing the problems.

Thanks.

Best regrds

ADD REPLY

Login before adding your answer.

Traffic: 588 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6