RHEL6.3を実行しているサーバーで2つのCUDA(4.2.9)サンプルプログラムbandwidthTestとdeviceQueryを作成しようとしていますが、「-lshrutilnotfound」というエラーが発生しました。私は少しググって、CUDA4.2の例ではShrutilライブラリはもう必要ないはずだと読みました。しかし、それでもエラーが発生しました。
どうすればこの問題を克服できますか?ライブラリをインストールする必要がありますか?
すべての例でshrutilが必要になるわけではありませんが、必要な例もあるため、shrutilライブラリをインストールすることをお勧めします。
バージョン4.1の状態に関連するリリースノート(私の強調):
CUDA C SDKサンプルのいくつかは再構築されたため、自己完結型であり、依存せず、CUTILまたはSHRUTILライブラリとリンクしなくなりました。
これは、すべてのサンプルがもはやそれらに依存していないことを意味するものではありません。したがって、すべてのサンプルを作成する場合でも、両方のライブラリが必要になります。
他の回答で示唆されているように、それでもこのライブラリが必要です。RedHat / CentOS 64ビットのようなシステムでは、ライブラリはとは異なる名前でコンパイルされているため、フラグlibshrutil.a
でリンクすることはできません。-lshrutil
これを修正するには、適切な名前のソフトリンクを作成します。
ln -s /root/NVIDIA_GPU_Computing_SDK/shared/lib/libshrutil_x86_64.a /root/NVIDIA_GPU_Computing_SDK/shared/lib/libshrutil.a
次に、SDKのトップレベルの作成を開始すると、すべてが機能します。それでおしまい!