在运行bedtools时报错如下:
[root@localhost ~]# bedtools bedtools: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by bedtools) bedtools: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by bedtools) bedtools: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by bedtools)
原因是安装了新版gcc后没有把对应的库加进来的原因(gcc安装后没配置好对应版本动态库的路径),比如我新安装的gcc 2.7.0,安装在 /share/soft/gcc-7.2.0 则:
vi $HOME/.bashrc #在其中加入: export LD_LIBRARY_PATH=/share/soft/gcc-7.2.0/lib64 ##gcc-7.2.0 添加基本运行动态库 按Esc -> wq 保存退出 source $HOME/.bashrc #使新环境变量立即生效
问题解决
所以,源码编译升级安装了gcc
后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
的问题。这是因为升级gcc
时,生成的动态库没有替换老版本gcc
的动态库导致的,将gcc
最新版本的动态库替换系统中老版本的动态库即可解决。
参考:
https://itbilu.com/linux/management/NymXRUieg.html
http://yangl.net/2018/01/13/cmake-install-error/ #此问题我之前就遇到过一次
尊重他人劳动成果,转载请注明出处:Bluesky's blog » bedtools运行报错:bedtools: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20′ not found (required by bedtools)