Mac公升級為Sierra後安裝caffe的問題

2021-07-31 10:23:05 字數 3798 閱讀 1276

三年前的mac到手後一直懶得做更新,主要是因為系統公升級後一些有依賴的軟體都需要更新,有時還挺容易出問題。為了安全穩定起見,osx 10.9系統就被我用了三年。但是,這麼久不更新實在跟不上潮流了,最近想安裝tensorflow,結果我這麼舊的系統被它鄙視並且拒絕了,只好趁著假期把系統更新一下。結果一更新,原來的caffe就用不了,編譯過程出現了些問題,本博文記錄了這些問題和對應的解決方案。

更新後,系統及相關軟體的版本為:

osx 10.12.4 (sierra)

xcode 8.3.2

cuda 8.0.61

cudnn 5.0

matlab2016b

caffe具體的安裝過程見《深度學習框架caffe在mac上的安裝和測試》,這裡使用的是基於anaconda的安裝。xcode和cuda都是最新的,但是編譯caffe的過程中發現cuda 8.0不支援xcode 8.3,報錯為:

nvcc fatal : the version ('80300') of
sudo xcode-select --switch /library/developer/commandlinetools
5, 檢視clang的版本, 為8.0.0

$ clang --version

.0 (clang-

800.0

.42.1)

-darwin16

.5.0

thread model: posix

installeddir: /library/developer/commandlinetools/usr/bin

於是使用make重新編譯caffe即可。

執行 make, make test都沒有問題,但是到了make runtest這一步,又出現以下問題:

$ make runtest

.build_release/tools/caffe

dyld:

library

notloaded:

@rpath/./libhdf5_hl.10.dylib

referenced

from:.build_release/tools/caffe

reason

: image not found

這個問題的原因是caffe沒有成功連線到anaconda安裝的libhdf5_hl.10.dylib。解決辦法如下:

1, 用otool檢視caffe的連線庫。

$ cd build/tools

$ otool -l caffe | grep rpath

@rpath/libcaffe.so.1.0.0-rc3 (compatibility version

0.0.0, current version

0.0.0)

@rpath/libcudart.8.0.dylib (compatibility version

0.0.0, current version

8.0.61)

@rpath/libcublas.8.0.dylib (compatibility version

0.0.0, current version

8.0.61)

@rpath/libcurand.8.0.dylib (compatibility version

0.0.0, current version

8.0.61)

@rpath/libhdf5_hl.10.dylib (compatibility version

12.0.0, current version

12.0.0)

@rpath/libhdf5.10.dylib (compatibility version

13.0.0, current version

13.0.0)

@rpath/libcudnn.5.dylib (compatibility version

0.0.0, current version

5.0.5)

@rpath/libpython2.7.dylib (compatibility version

2.7.0, current version

2.7.0)

可以看到caffe連線到了@rpath/libhdf5_hl.10.dylib 而不是anaconda中的hdf5。

2, 使用install_name_tool -change 重新設定hdf5的連線

$ install_name_tool -change "@rpath/libhdf5_hl.10.dylib"

"/users/taigw/anaconda/lib/libhdf5_hl.10.dylib" caffe

install_name_tool -change "@rpath/libhdf5.10.dylib"

"/users/taigw/anaconda/lib/libhdf5.10.dylib" caffe

3, 對libcaffe.so和test_all.testbin做同樣的修改

$ cd ../lib

$ otool -l libcaffe.so | grep rpath

$ install_name_tool -change "@rpath/libhdf5.10.dylib"

"/users/taigw/anaconda/lib/libhdf5.10.dylib" libcaffe.so

$ install_name_tool -change "@rpath/libhdf5_hl.10.dylib"

"/users/taigw/anaconda/lib/libhdf5_hl.10.dylib" libcaffe.so

$ cd ../test

$ otool -l test_all.testbin | grep rpath

$ install_name_tool -change "@rpath/libhdf5_hl.10.dylib"

"/users/taigw/anaconda/lib/libhdf5_hl.10.dylib" test_all.testbin

$ install_name_tool -change "@rpath/libhdf5.10.dylib"

"/users/taigw/anaconda/lib/libhdf5.10.dylib" test_all.testbin

再次執行make runtest就能通過了。

之後依次執行make pycaffe和make matcaffe,在make matcaffe完成後在matlab中呼叫caffe時出現了和上面類似的錯誤,說caffe_mexmaci64找不到@rpath/./libhdf5_hl.10.dylib,解決辦法如下:

在caffe安裝的更目錄下,執行:

$ cd matlab/+caffe/private/

$ install_name_tool -change "@rpath/libhdf5_hl.10.dylib"

"/users/taigw/anaconda/lib/libhdf5_hl.10.dylib" caffe_.mexmaci64

$ install_name_tool -change "@rpath/libhdf5.10.dylib"

"/users/taigw/anaconda/lib/libhdf5.10.dylib" caffe_.mexmaci64

問題得到順利解決。於是可以在新系統上一邊玩caffe一邊玩tensorflow了。

公升級Sierra系統後一系列破解工具無法使用問題

系統公升級了,也沒啥感覺,就是一系列破解工具打不開了,之前也沒發現是系統的問題,破解不了就算了,可是試用期一到就受不了了。去網上搜了一下,原來是系統的問題,好多大神都推出了解決辦法,真是道高一尺,魔高一丈啊。分享一下經驗跟工具 keygen 系列 special k系列 當然還有autodesk家族...

mac公升級到10 11後重新安裝Cocoapod

由於mac 10.11更改了安全機制,所以cocoapods得安裝和解除安裝命令也有所改變,全新安全功能 rootless,重新創造支援 icloud drive 檔案加密的蘋果應用,以及全新 受信任 wifi 功能。一 全新安裝前,先檢查是否有安裝殘留 1 如果之前裝過cocopods,最好先解除...

解決mac公升級後nginx啟動問題

在mac上安裝了nginx,用起來好好的,後來公升級了下mac,發現很多命令都不能用了,包括之前安裝的node,grunt,nginx等,重新安裝這些之後都好了 但是啟動nginx,出現以下情況 chunbomac lichunbo sudo nginx password dyld library ...