대학 과제를 위한 프레임워크를 실행하려고 하면 다음과 같은 메시지가 나타납니다.
$ ./Assignment
./Assignment: error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory
나는 대학에서 컴퓨터를 사용한다. 이는 루트 액세스 권한이 없음을 의미합니다. 그러나 문제가 정확히 무엇인지 알 수 있다면 관리자가 도움을 줄 수 있을 것입니다.
- 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