|
在用R library(edgeR)时,有时会遇到报错/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found
这是GCC版本的问题,我们下载一个新版本的GCC即可得到GLIBCXX_3.4.20 版本的libstdc++.so.6。
但是R直接调用的是/lib64 里面的libstdc++.so.6, 没有root权限的用户没法将新的版本放进去。
此时可以 vi .bash_profile
将下面两句话添加到 文件里面。
export LD_LIBRARY_PATH=/lib:/lib64:/usr/lib:/usr/lib64:/usr/local/lib:/usr/local/lib64
export LD_LIBRARY_PATH=/home/pub/software/gcc/6.4.0/lib64:$LD_LIBRARY_PATH
之后在source .bash_profile 就可以了。
libstdc++.so.6 版本的查看办法: strings libstdc++.so.6 | grep "GLIB" 即可看到如下的版本信息
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
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-19 22:25
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社