import tensorflow 報錯,CentOS 升級 glibc



問題描述:

in[0]: import tensorflow as tf

ImportError: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by /usr/local/python2.7/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so)

# 系統默認 glibc 所支持的版本太低

解決方法:

1、檢查當前 glibc 版本

shell > 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

shell > ll /lib64/libc.so.6 
lrwxrwxrwx. 1 root root 12 7月  14 01:57 /lib64/libc.so.6 -> libc-2.12.so

# 現有 glibc 支持的最高版本為 2.12,我們需要至少 2.15

2、下載所需 glibc ( Linux 系統及指令都依賴該庫,損壞將導致操作系統無法工作 )

shell > wget http://mirrors.ustc.edu.cn/gnu/libc/glibc-2.15.tar.gz
shell > tar zxf glibc-2.15.tar.gz
shell > mkdir glibc-2.15/build; cd glibc-2.15/build
shell > ../configure --prefix=/usr/local/glibc-2.15 && make && make install

# 需要幾分鍾時間、耐心等待

3、替換軟鏈接

shell > rm -rf /lib64/libc.so.6
shell > ln -s /usr/local/glibc-2.15/lib/libc.so.6 /lib64/
ln: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

# 你會發現,除 cd 外的指令幾乎不能使用了,這是因為他們都依賴於 glibc !

shell > LD_PRELOAD=/usr/local/glibc-2.15/lib/libc.so.6 ln -s /usr/local/glibc-2.15/lib/libc.so.6 /lib64/

shell > 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_PRIVATE

shell > ll /lib64/libc.so.6 
lrwxrwxrwx. 1 root root 35 Jul 14 14:02 /lib64/libc.so.6 -> /usr/local/glibc-2.15/lib/libc.so.6

# 軟鏈接已經替換,且系統指令也已經恢復

shell > LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6

# 如升級不成功,使用上面語句恢復

報錯管理:

1、glibc 版本太新或 autoconf 版本太舊 ( glibc 換低版本 )

configure: error: 
*** These critical programs are missing or too old: as ld compiler
*** Check the INSTALL file for required versions.

……………………………………………………………………………………………………………………………………………………………………………………

# 升是升完了,但是不能用,我換了7、8個版本,都不行。要么安裝不成功、要么提示段錯誤、要么軟鏈接切換有問題。

# CentOS 6.x glibc 版本為 2.12,CentOS 7.x glibc 版本為 2.17

# 最后我換系統了,用 C7 或 Ubuntu !真鬧心


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM