[英]fish shell seems to be ignoring LD_LIBRARY_PATH?
在啟動darknet之前,我需要為CUDA設置LD_LIBRARY_PATH
。 看起來像這樣:
echo $LD_LIBRARY_PATH
/usr/local/cuda/lib64
當應用程序啟動時,它無法加載應該在該目錄中找到的庫:
./darknet
./darknet: error while loading shared libraries: libcudart.so.10.0:
cannot open shared object file: No such file or directory
但是該庫肯定在該目錄中:
ldd /usr/local/cuda/lib64/libcudart.so.10.0
linux-vdso.so.1 => (0x00007ffe7bf2d000)
...etc...
我假設我在魚中未正確設置LD_LIBRARY_PATH。 這是我最初在魚中做的方式:
set -U LD_LIBRARY_PATH /usr/local/cuda/lib64
echo $LD_LIBRARY_PATH
/usr/local/cuda/lib64
當我在bash中嘗試完全相同的事情時,它可以正常工作 :
bash
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
./darknet
usage: ./darknet <function>
所有這些都是在運行fish 2.2.0和bash 4.3.48的64位Ubuntu 16.04.6上進行的。
您沒有導出變量。 相反,請執行以下操作:
set -Ux LD_LIBRARY_PATH /usr/local/cuda/lib64
./darknet
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.