linux下caffe編譯出錯

錯誤1: libcudart.so.8.0: cannot open shared object file: No such file or directory
解決辦法:首先確認/etc/profile中的路徑包含了cuda8.0的安裝路徑及相應的庫文件

export PATH=$PATH:/usr/local/cuda-8.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-8.0/lib64
$source /etc/profile

使配置文件生效,再次執行。
若仍提示相同的錯誤,則執行以下命令,將相應的庫文件複製到/usr/lib

sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 && sudo ldconfig
sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 && sudo ldconfig
sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 && sudo ldconfig

sudo ldconfig命令是一個動態鏈接庫管理命令,是爲了讓動態鏈接庫爲系統共享。
至此,問題就解決啦,哈哈哈(*_^)

錯誤2: .build_release/tools/caffe: error while loading shared libraries: libcudnn.so.5: cannot open shared object file: No such file or directory
解決:設置cudnn環境變量

$ sudo vi /etc/ld.so.conf.d/cuda.conf    //創建文件
寫入/usr/local/cuda/lib64
$ sudo ldconfig    //使軟鏈接生效

錯誤3: pip升級到10版本後ImportError: cannot import name ‘main’
解決:找到報錯文件,也就是那個pip,然後cd進目錄 vi 編輯pip,將裏面的內容改爲如下所示:

# -*- coding: utf-8 -*-
import re
import sys
from pip._internal import main as _main
if __name__ == '__main__':
  sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
  sys.exit(_main())

錯誤4: pandas 0.23.0 has requirement python-dateutil>=2.5.0, but you’ll have python-dateutil 1.5 which is incompatible.
matplotlib 2.2.2 has requirement python-dateutil>=2.1, but you’ll have python-dateutil 1.5 which is incompatible.明明已經升級到2.7.3,還是報錯。caffe/python下的requirement.txt要求小於2版本。暈!
在python命令行裏import matplotlib卻沒有問題。搞不懂啦~

下次還是裝anaconda吧,python環境和jupter notebook都有了。注意:千萬不要裝重了,不然很頭疼的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章