我需要设置LD_LIBRARY_PATH为CUDA下水前暗网。看起来像这样:
echo $LD_LIBRARY_PATH
/usr/local/cuda/lib64
Run Code Online (Sandbox Code Playgroud)
当应用程序启动时,它无法加载应该在该目录中找到的库:
./darknet
./darknet: error while loading shared libraries: libcudart.so.10.0:
cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
但是该库肯定在该目录中:
ldd /usr/local/cuda/lib64/libcudart.so.10.0
linux-vdso.so.1 => (0x00007ffe7bf2d000)
...etc...
Run Code Online (Sandbox Code Playgroud)
我假设我在鱼中未正确设置LD_LIBRARY_PATH。这是我最初在鱼中做的方式:
set -U LD_LIBRARY_PATH /usr/local/cuda/lib64
echo $LD_LIBRARY_PATH
/usr/local/cuda/lib64
Run Code Online (Sandbox Code Playgroud)
当我在bash中尝试完全相同的事情时,它可以正常工作:
bash
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
./darknet
usage: ./darknet <function>
Run Code Online (Sandbox Code Playgroud)
所有这些都是在运行fish 2.2.0和bash 4.3.48的64位Ubuntu 16.04.6上进行的。
您没有导出变量。相反,请执行以下操作:
set -Ux LD_LIBRARY_PATH /usr/local/cuda/lib64
./darknet
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |