linux – RHEL7 – usrlib64libstdc .so.6:版本“CXXABI_1.3.8”未找到

linux – RHEL7 – usrlib64libstdc .so.6:版本“CXXABI_1.3.8”未找到,第1张

概述我知道这个问题已被多次询问,而我仍然坚持使用它. 我已经回顾了以前问过的所有答案 version `CXXABI_1.3.8′ not found (required by …) How to fix: [program name] /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version CXXABI_1.3.8′ not found (required 我知道这个问题已被多次询问,而我仍然坚持使用它.
我已经回顾了以前问过的所有答案
version `CXXABI_1.3.8′ not found (required by …)

How to fix: [program name] /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version CXXABI_1.3.8′ not found (required by [program name])

我读过https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_paths

我的系统是RHEL7,之前安装了gcc 4.8,我用yum安装了gcc 4.9 -y install devtoolset-3-gcc devtoolset-3-gcc-c

然后成功安装了gcc 4.9.
用gcc -v,我明白了

Using built-in specs.ColLECT_GCC=gccColLECT_LTO_WRAPPER=/opt/rh/devtoolset-3/root/usr/libexec/gcc/x86_64-redhat-linux/4.9.2/lto-wrapperTarget: x86_64-redhat-linuxConfigured with: ../configure --prefix=/opt/rh/devtoolset-3/root/usr --mandir=/opt/rh/devtoolset-3/root/usr/share/man --infodir=/opt/rh/devtoolset-3/root/usr/share/info --with-BUGurl=http://BUGzilla.redhat.com/BUGzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-@R_562_4035@-exceptions --enable-gnu-unique-object --enable-linker-build-ID --enable-languages=c,c++,fortran,lto --enable-plugin --with-linker-hash-style=gnu --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.9.2-20150212/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.9.2-20150212/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linuxThread model: posixgcc version 4.9.2 20150212 (Red Hat 4.9.2-6) (GCC)

然后我按照其他人的建议设置我的LD_liBRARY_PATH,如:

export LD_liBRARY_PATH=/opt/rh/devtoolset-3/root/usr/lib/gcc/x86_64-redhat-linux/4.9.2:${LD_liBRARY_PATH}

但是,错误仍然存​​在,似乎我的新版本gcc4.9不起作用.
任何帮助,将不胜感激!

解决方法 问题出现了,因为devtoolset-x软件包实际上只是包装标准系统libstdc.所以即使你有一个新的编译器,你仍然有旧的ABI(应用程序二进制接口).所以你真正需要的是一个全新的编译器!其中将包括自己的新库.

要构建编译器,您需要安装一些依赖项:

sudo yum install gmp-devel mpfr-devel libmpc-devel

您可以下载更新版本的GCC from one of the official mirrors,获取gcc-8.3.0.tar.gz等版本,解压缩并在该目录中

./configure --disable-multilib --enable-languages=c,c++ --prefix=$HOME/localmake -j5make -j install

那么每当你需要一个现代的ABI,

export LD_liBRARY_PATH=$HOME/local/lib64

一切都可能开始奏效.如果您的应用程序生成自己的环境(例如Steam),您可能希望将库放在它正在搜索的路径中.

“重复”的答案要么错了,要么过时了;这是今天的正确解决方案.我知道因为我尝试了所有这些,这才是真正有效的……

总结

以上是内存溢出为你收集整理的linux – RHEL7 – /usr/lib64 / libstdc .so.6:版本“CXXABI_1.3.8”未找到全部内容,希望文章能够帮你解决linux – RHEL7 – /usr/lib64 / libstdc .so.6:版本“CXXABI_1.3.8”未找到所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1049882.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存