/lib64/libstdc++.so.6: version `CXXABI_1.3.8’ not found
2635 ワード
究極の一戦 libstdc++.so.6バージョンの低さによる コンパイルGCC 絶命の一撃ImportError:/lib 64/libstdc+.so.6: version `CXXABI_1.3.8’ not found
libstdc++.so.6バージョンが低すぎることによる
自分の
やっぱりありません.注意、GCCバージョンが低すぎるとは限らず、SCL(sclについてhttps://linux.cn/article-6776-1.html)GCCをアップグレードするのに役に立たず、libstdc++をアップグレードすることはできません.so.6だからlibstdc++をアップグレードします.so.6、ついでにGCCをアップグレード.GCCのみアップグレード(scl経由)は無効です.gccのバージョンが高いためですが、彼のlibstdc++はrequireの元の
信じないよ
だから卵が痛いんでしょう???
解決策はGCCを再コンパイルすることだけです.
コンパイルGCCインストール依存ライブラリ ダウンロードソースパッケージftp://ftp.gnu.org/gnu/gcc/gcc-9.2.0/ 解凍 configure make(注意、これは非常に時間がかかります.プラス-j 4は4スレッドコンパイルを意味します.もしあなたが4コアを持っていると、CPUがいっぱいになって、サービスが警察に通報するので、状況を見て、私は直接 この命令は次の通りです.
インストールが完了したら、新しいインストールパスを環境変数に追加します.
libstdc++.so.6バージョンが低すぎることによる
自分の
libstdc++.so.6
にCXXABI_1.3.8
が含まれているかどうか見てみましょう.# strings /usr/lib64/libstdc++.so.6 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_TM_1
やっぱりありません.注意、GCCバージョンが低すぎるとは限らず、SCL(sclについてhttps://linux.cn/article-6776-1.html)GCCをアップグレードするのに役に立たず、libstdc++をアップグレードすることはできません.so.6だからlibstdc++をアップグレードします.so.6、ついでにGCCをアップグレード.GCCのみアップグレード(scl経由)は無効です.gccのバージョンが高いためですが、彼のlibstdc++はrequireの元の
libstdc++.so.6
です.信じないよ
# cat /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/libstdc++.so
/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
OUTPUT_FORMAT(elf64-x86-64)
INPUT ( /usr/lib64/libstdc++.so.6 -lstdc++_nonshared )
だから卵が痛いんでしょう???
解決策はGCCを再コンパイルすることだけです.
コンパイルGCC
yum install -y gmp-devel mpfr-devel libmpc-devel
nohup make &
で家に帰って寝ます)sudo yum install gmp-devel mpfr-devel libmpc-devel -y
cd download
wget ftp://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.xz
xz -d gcc-9.2.0.tar.xz
tar -xf gcc-9.2.0.tar
cd gcc-9.2.0
./configure --disable-multilib --enable-languages=c,c++ --prefix=$HOME/local
make -j4
make -j install
インストールが完了したら、新しいインストールパスを環境変数に追加します.
export LD_LIBRARY_PATH=$HOME/local/lib64
~/.bash_profile
にPATH=$HOME/local/bin:$PATH
を付けてlocalを前に置くことができ、同じ名前のbinが同時に存在する場合に備えて、ローカルのbinファイルを呼び出してLD_LIBRARY_PATH=$HOME/local/lib64
も.base_profile
に加えることができ、後で便利に使用することができます.done.