重定位错误:版本 GLIBCXX_3.4.21 未在带有链接时间参考的文件 libstdc++.so.6 中定义

重定位错误:版本 GLIBCXX_3.4.21 未在带有链接时间参考的文件 libstdc++.so.6 中定义

我正在 Linux VM(Ubuntu 14.04.6)上使用 Conda 实现转录组学管道,但遇到了 GCC 的问题。

我安装了最新的 GCC 版本:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9

但是当我运行管道时,出现错误:

salmon: relocation error: salmon: symbol _ZNKSt3_V214error_category10_M_messageB5cxx11Ei, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

但是当我运行时我可以看到“GLIBCXX_3.4.21”实际上存在:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLI

我找到了一个类似问题的帖子,建议使用:

sudo ppa-purge ppa:ubuntu-toolchain-r/test

但运行管道后

salmon: /usr/lib/x86_64-linux-gnu/libgomp.so.1: version `GOMP_4.0' not found (required by salmon)
salmon: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by salmon)
salmon: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by salmon)
salmon: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by salmon)
salmon: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by salmon)
salmon: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by salmon)
salmon: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by salmon)
salmon: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/parker/miniconda3/envs/RREP4/bin/../lib/libtbbmalloc_proxy.so.2)
salmon: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /home/parker/miniconda3/envs/RREP4/bin/../lib/libtbb.so.2)
salmon: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/parker/miniconda3/envs/RREP4/bin/../lib/libtbb.so.2)
salmon: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/parker/miniconda3/envs/RREP4/bin/../lib/libtbb.so.2)

因为 GCC 最终被降级了。每当我将 GCC 升级回 v4.9 时,我都会遇到最初的错误,然后陷入循环。

我正在使用其他人之前一直在使用的 Linux VM,并且可能安装了多个版本的 GCC,这可能会发生冲突(GCC 也是通过 Conda 环境安装的)。有没有办法在 Ubuntu 14.04.6 上对 GCC 进行全新安装/配置?

谢谢

相关内容