1、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 升級

GLIBC 升級 

安裝包,自己編譯 

由于centos6.5以下版本glibc最高為2.12,如果想要升級,必須自己下載源碼,編譯升級,但是從官網(wǎng)上下載的安裝包,需要一些其他的關(guān)聯(lián)包,安裝麻煩,且不利于其他機器的部署。 

rpm安裝 

從網(wǎng)上下載glibc-2.15.rpm,以及其他相關(guān)的glib安裝包, 

glibc-common-2.15-60.el6.x86_64.rpm 

glibc-devel-2.15-60.el6.x86_64.rpm 

glibc-2.15-60.el6.x86_64.rpm 

glibc-headers-2.17-60.el6.x86_64.rpm 

這個包能找到就下,找不到就不用安裝了。 

[下載好放到了nb01-sys-gpu-kongming13.nb01.baidu.com:/root/softwares/glibc217.tar] 


nscd-2.12-1.192.el6.x86_64.rpm 

在使用rpm安裝時,需要忽略包的關(guān)聯(lián)性,否則無法正常安裝。 

rpm -Uvh --nodeps *2.17-55.el6.x86_64.rpm --force 

安裝好后,ldconfig 

檢查ll /lib64/libc.* 

此時可以看到glibc.so.6 已經(jīng)指向了2.17.so 

注意 

在安裝glibc時,一定注意備份,因為一旦出錯,整個系統(tǒng)就會掛掉。 



libstdc++.so.6

ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found 

Kongming 機器:  

export LD_PRELOAD=/home/opt/gcc-4.8.2.bpkg-r2/gcc-4.8.2.bpkg-r2/lib64/libstdc++.so.6


2. python里import tensorflow時報 “ImportError: /usr/local/python27/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so: undefined symbol: PyUnicodeUCS4_FromString”

 

如果自己單獨升級了python,或者有多個版本的python時,便有可能出現(xiàn)此問題.
問題表象為:報錯:undefined symbol: PyUnicodeUCS2_AsUTF8String或者undefined symbol: PyUnicodeUCS4_AsUTF8String.
根本原因時python和某個你用的庫編譯時指定的UCS編碼方式不對.
編譯python時,可以通過指定--enable-unicode[=ucs[24]]來選擇使用UCS2或者UCS4.
如果你的錯誤是undefined symbol: PyUnicodeUCS2_AsUTF8String,說明你的python編譯時使用的是UCS4,反之依然.
解決方案兩個:1,重新編譯python,2,重新編譯庫.
選擇一般是重新編譯庫.
我這重新編譯python,因為報錯是PyUnicodeUCS4_FromString,說明tensorflow是用UCS4編譯的,而python是UCS2編譯的:  
重新編譯時設(shè)置unicode為ucs4
./configure --prefix=/usr/local/python27 --enable-unicode=ucs4
python2.7.11默認是使用UCS2.

3. 
ImportError: No module named Tkinter
https://www.douban.com/note/524197380/