当我尝试执行大学作业的框架时,我得到
$ ./Assignment
./Assignment: error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory
我在大学使用电脑。这意味着我没有 root 访问权限。但是,如果我能说出问题到底是什么,管理员可能会帮助我。
- CUDA 似乎已安装(
nvidia-smi
并且nvcc --help
两者都可以工作)。 libOpenCl.so
系统上存在
有关我的系统的信息
$ echo $LD_LIBRARY_PATH
:/opt/cuda-7.5/lib64:/home/stud/s_thoma/cuda
$ echo $LIBGL_DRIVERS_PATH
:/home/stud/s_thoma/cuda:/opt/cuda-7.5/lib64:/home/stud/s_thoma/cuda
/opt/cuda-7.5/lib64$ ls
libcublas_device.a libcuinj64.so.7.5.18 libnppi.so.7.5.18
libcublas.so libculibos.a libnppi_static.a
libcublas.so.7.5 libcurand.so libnpps.so
libcublas.so.7.5.18 libcurand.so.7.5 libnpps.so.7.5
libcublas_static.a libcurand.so.7.5.18 libnpps.so.7.5.18
libcudadevrt.a libcurand_static.a libnpps_static.a
libcudart.so libcusolver.so libnvblas.so
libcudart.so.7.5 libcusolver.so.7.5 libnvblas.so.7.5
libcudart.so.7.5.18 libcusolver.so.7.5.18 libnvblas.so.7.5.18
libcudart_static.a libcusolver_static.a libnvrtc-builtins.so
libcufft.so libcusparse.so libnvrtc-builtins.so.7.5
libcufft.so.7.5 libcusparse.so.7.5 libnvrtc-builtins.so.7.5.18
libcufft.so.7.5.18 libcusparse.so.7.5.18 libnvrtc.so
libcufft_static.a libcusparse_static.a libnvrtc.so.7.5
libcufftw.so libnppc.so libnvrtc.so.7.5.17
libcufftw.so.7.5 libnppc.so.7.5 libnvToolsExt.so
libcufftw.so.7.5.18 libnppc.so.7.5.18 libnvToolsExt.so.1
libcufftw_static.a libnppc_static.a libnvToolsExt.so.1.0.0
libcuinj64.so libnppi.so libOpenCL.so
libcuinj64.so.7.5 libnppi.so.7.5 stubs
~/cuda$ ls
libOpenCL.so.1
$ uname -a
Linux i08pc71 4.0.4-303.ATIS.aufs4.0.fc22.x86_64 #1 SMP Wed Jun 3 13:02:20 CEST 2015 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue
Fedora release 22 (Twenty Two)
Kernel \r on an \m (\l)
答案1
strace
将帮助您调试问题。它将显示动态链接器在何处查找 libOpenCL.so.1。请注意,您的目录中可能会出现损坏的符号链接~/cuda
。
要正确测试这一点,请安装或以其他方式获取 strace 二进制文件,然后运行:
strace -f -v -s150 ./Assignment 2>&1 | fgrep libOpenCL.so.1