天天看點

error while loading shared libraries libcudart.so.8.0: No such file or directory問題解決

運作某個可執行檔案 .bin檔案時,産生如下錯誤:

error while loading shared libraries: libcudart.so.8.0: cannot open shared object file: No such file or directory

解決辦法:

首先使用ldd指令檢視這個.bin檔案需要哪些依賴庫:

ldd easyOpenposeVideo.bin

之後顯示三個依賴的.so檔案找不到:

libcudart.so.8.0 => not found

libcublas.so.8.0 => not found

libcurand.so.8.0 => not found

此時使用find指令查找這幾個.so檔案的位置,需要在/usr/目錄下查找:

find -name libcudart.so*

顯示出這個檔案的位置:

./local/cuda-8.0/lib64/libcublas.so.8.0

./local/cuda-8.0/lib64/libcublas.so

找到了依賴項的位置之後,有兩種方法解決問題。

方法1:

在自己的使用者下,執行:

vim .bashrc

打開改檔案;

在這個檔案中添加上述依賴項的位置目錄:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64/

儲存并退出之後執行:

source .bashrc

使上述修改生效。之後重新運作.bin檔案,問題解決。

方法2:

用sudo權限在

/etc/ld.so.conf.d

這個目錄中建立.conf檔案,例如sudo vim cuda.conf

在這個檔案中寫入之前得到的.so檔案的位置目錄:

/usr/local/cuda/

/usr/local/cuda/lib64/

儲存并推出後,運作

ldconfig

使剛才建立的檔案生效,之後再次運作之前的.bin檔案,問題解決。

繼續閱讀