问题1:
dotnet: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.18' not found (required by dotnet) CXXABI_1.3.5’ not found (required by dotnet)
dotnet: /usr/lib64/libstdc++.so.6: version
dotnet: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.14' not found (required by dotnet) GLIBCXX_3.4.15’ not found (required by dotnet)
dotnet: /usr/lib64/libstdc++.so.6: version
运行以下命令检查动态库:
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
输出结果如下:
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
解决办法:
下载新版本:http://ftp.de.debian.org/debian/pool/main/g/
下载下来之后,用如下命令开始解压
ar -x libstdc++6_7-20170302-1_i386.deb
tar xvf data.tar.xz
将上面的最新动态库(lib/i386-linux-gnu)libstdc++.so.6.0.23复制到/usr/lib64目录下,
cp libstdc++.so.6.0.23 /usr/lib64
切换工作目录至/usr/lib64:
cd /usr/lib64
删除原来软连接:
rm -rf libstdc++.so.6
将默认库的软连接指向最新动态库:
ln -s libstdc++.so.6.0.23 libstdc++.so.6
默认动态库升级完成。重新运行以下命令检查动态库:
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBC_2.0
GLIBC_2.3
GLIBC_2.18
GLIBC_2.16
GLIBC_2.1
GLIBC_2.17
GLIBC_2.1.3
GLIBC_2.3.2
GLIBC_2.2
GLIBCXX_DEBUG_MESSAGE_LENGTH
问题2:
python里import tensorflow时,报 “ImportError: /lib64/libc.so.6: version `GLIBC_2.17’ not found (required by /usr/local/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so)”
主要是glibc的版本太低,默认的CentOS 6.5 glibc版本最高为2.12,
执行: strings /lib64/libc.so.6|grep GLIBC 查看目前系统支持的glibc的版本
[root@zhx-tserver2 build-2.17]# strings /lib64/libc.so.6|grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE
tensorflow需要glibc-2.17,需要升级glibc
1)下载glibc2.17:
wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
2)解压:
tar -xzf glibc-2.17.tar.gz
3)创建build目录:
mkdir build
4)进入build目录编译glibc:
cd build
../glibc-2.17/configure –prefix=/usr –disable-profile –enable-add-ons –with-headers=/usr/include –with-binutils=/usr/bin
make -j4
make install
5)查看GLIBC版本
执行 strings /lib64/libc.so.6|grep GLIBC 查看版本已经支持GLIBC_2.17
[root@zhx-tserver2 build-2.17]# strings /lib64/libc.so.6|grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_PRIVATE
原文链接:
https://blog.youkuaiyun.com/qq708986022/article/details/77896791
https://blog.youkuaiyun.com/dream_ll/article/details/61917252
本文介绍了解决dotnet运行时缺失特定版本的libstdc++.so.6及TensorFlow因glibc版本过低导致的导入错误的方法。通过更新对应的动态库版本,确保了应用程序的正常运行。
31万+

被折叠的 条评论
为什么被折叠?



