如何解決在 ubuntu 16.04 上建構 caffe 的依賴關係

如何解決在 ubuntu 16.04 上建構 caffe 的依賴關係

我正在嘗試在 ubuntu 16.04 上透過 git checkout 建立 caffe。

如果找到 gcc5 解決方法並解決了 hf5 問題,但現在陷入困境。

我已經解決了大部分依賴項,但仍然堅持這些依賴項。

/usr/bin/ld: warning: libcudart.so.6.5, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcublas.so.6.5, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcurand.so.6.5, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_system.so.1.55.0, needed b
/usr/lib/libcaffe.so, may conflict with libboost_system.so.1.58.0
/usr/bin/ld: warning: libboost_thread.so.1.55.0, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_python-py27.so.1.55.0, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)

ubuntu 16.04 附帶了 boost 1.58,但倉庫中沒有 1.55 軟體包,有人知道我在哪裡可以找到它們以及如何在不破壞其他 boost 軟體包的情況下安裝它們嗎?

我也不確定從哪裡獲取 libcu* 文件

有沒有人想出如何解決這個問題,或者有人打算製作一包咖啡來緩解這種痛苦?

編輯:我正在執行此操作的機器是戴爾 precison m3800,配有 NVIDIA Corporation GK107GLM [Quadro K1100M](rev a1),採用 intel 4600 的 optimus

編輯:錯誤訊息建議 -rpath 關於如何使用它有什麼建議嗎?

編輯:今天早上(2016 年5 月18 日)我剛剛對我的caffe 源進行了git pull,看來caffe 現在已經升級到1.58 版本的boost 庫和7.5 cuda 庫,因此正在使用我係統上安裝的那些版本,但這還不穩定,編譯失敗並出現警告和錯誤頁面。希望這是修復的開始...

更新:

使用 user.dz 的建議來使用我所做的捆綁 cuda 工具

apt-get install nvidia-cuda-toolkit 

這很有效,並且讓我克服了困難!謝謝@user.dz :)

建立 caffe 仍然存在大量編譯錯誤,這些錯誤可以透過谷歌搜尋並找到帶有解決方法的貼文來修復,數量太多,無法列出。

這讓我能夠成功編譯caffe(帶有來自boost的許多警告),所以我認為這意味著這個問題得到了解答,謝謝大家,尤其是user.dz!

作為旁白:

我現在陷入了嘗試建立 pycaffe 的困境,它在抱怨libboost_python3沒有找到,我已經安裝了該軟體包,但似乎沒有 .so 版本,只有 .a ,由於不支援的重定位錯誤,這導致建置失敗。有任何想法嗎 ?我將就此提出一個新問題並發布一個鏈接

pycaffe 現在構建,用厚顏無恥的符號鏈接修復它:)

sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_python-py35.so /usr/lib/x86_64-linux-gnu/libboost_python3.so

答案1

  1. 這似乎是一個絕對的包,為什麼它沒有在搜尋中列出軟體包.ubuntu.com並可從以下位置取得:

    http://archive.ubuntu.com/ubuntu/pool/multiverse/n/nvidia-cuda-toolkit/

    在其他情況下,您也可以尋找舊版儲存庫:

    http://old-releases.ubuntu.com/ubuntu/pool/universe/n/nvidia-cuda-toolkit/

  2. 提取它們並將所需的共享物件(庫)複製到/usr/local/lib/

您可以對 boost 函式庫執行相同的操作。這些庫是有版本的,因此您可以將許多庫放入同一系統中。易於安裝的唯一限制是包裝,他們將它們放在相同的名稱下。

如果您認為需要在同一系統中擁有多個版本並且它具有廣泛的適用性,請為其提交錯誤報告。

答案2

我認為 Xenial 中 libcudart 的函式庫版本是7.5。您可以嘗試以這些為目標(libcublas 和 libcurand 相同)?

Boost 已升級至版本.58libboost-system-dev除了libbost-system(不是引導開發人員,請接受此鹽)之外,您可能還需要安裝。與 libboost-thread 和 libboost-python 相同。

他們很可能沒有更改軟體包以匹配 16.04,而是針對似乎具有這些軟體包版本的 trusty。

相關內容