centos8.5运行ai00-server报错`GLIBC_2.39‘ not found,解决方法
1.安装 glibc-2.39【解决./ai00-server: /lib64/libc.so.6: version `GLIBC_2.39’ not found (required by ./ai00-server)】
wget https://ftp.gnu.org/gnu/libc/glibc-2.39.tar.gzlstar -xzvf glibc-2.39.tar.gzcd glibc-2.39llmkdir build && cd build../configure --prefix=/usr/local/glibc-2.39make -j 64make install
sudo ln -sf /opt/glibc-2.39/lib/libc.so.6 /lib64/
sudo ln -sf /opt/glibc-2.39/lib/libm.so.6 /lib64/
sudo ln -sf /opt/glibc-2.39/lib/libpthread.so.0 /lib64/
sudo ln -sf /opt/glibc-2.39/lib/ld-linux-x86-64.so.2 /lib64/
sudo ldconfig
624 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/glibc-2.39/lib
2.安装 gcc-10.X【./ai00-server: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29’ not found (required by ./ai00-server)】
wget http://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz
tar -xzvf gcc-10.2.0.tar.gz
cd gcc-10.2.0
安装依赖并编译 libstdc++:```sh
./contrib/download_prerequisites
mkdir build
cd build
../configure --disable-multilib --enable-languages=c,c++
make -j4
sudo make install
更新库路径:
sudo ln -sf /usr/local/lib64/libstdc++.so.6.0.29 /usr/lib64/libstdc++.so.6
sudo ldconfig
最后,验证是否能够正确加载所需版本的库:
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
ldd ./ai00-server
备用方案:
sudo dnf install gcc-toolset-10-gcc -yscl enable gcc-toolset-10 'bash'strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
