次の簡単なOpenCLアプリケーションをインストールしocl-icd-opencl-dev
て実行してみましたvadd
。
$ ./vadd
./vadd: error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory
私はフォローしましたこれ、出力は次のとおりです(興味深い部分だけを保持しました)。
$ strace -f -v -s150 ./vadd 2>&1 | fgrep libOpenCL.so.1
...
open("/usr/lib/x86_64-linux-gnu/libOpenCL.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
...
素晴らしい...
$ ls -la /usr/lib/x86_64-linux-gnu/ | grep libOpenCL
lrwxrwxrwx 1 root root 18 Dec 18 2015 libOpenCL.so.1 -> libOpenCL.so.1.0.0
私がここで何を見逃しているのでしょうか?これはlibOpenCL.so.1
シンボリックリンクに問題がありますか?
ベストアンサー1
私の場合は、いくつかのパッケージを壊しました。
まず、ファイルパッケージが正常であることを確認してください。
ls -la /usr/lib/x86_64-linux-gnu/libOpenCL*
このように赤い結果が表示された場合
lrwxrwxrwx 1 root root 18 abr 5 2017 libOpenCL.so -> libOpenCL.so.1.0.0
赤いテキストは、シンボリックリンクが失われ、ターゲットが欠落していることを示します。その後、再インストールする必要があります。
早く走る
sudo apt --reinstall install ocl-icd-libopencl1
それからやり直してください
ls -la /usr/lib/x86_64-linux-gnu/libOpenCL*
lrwxrwxrwx 1 root root 18 abr 5 2017 /usr/lib/x86_64-linux-gnu/libOpenCL.so -> libOpenCL.so.1.0.0
lrwxrwxrwx 1 root root 18 abr 5 2017 /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 -> libOpenCL.so.1.0.0
-rw-r--r-- 1 root root 43072 abr 5 2017 /usr/lib/x86_64-linux-gnu/libOpenCL.so.1.0.0
はい!もう赤いテキストはありません。これでファイルlibOpenCL.so.1.0.0
が存在します。