は最近問題に出くわしたlcudnnサーバー上のカフェをコンパイルし、/usr/bin/ld: cannot find -lcudnn
を求められたときに、私はroot priviledge
を持っていないので、見つけることができない、私は私のHOME
ディレクトリにCUDA-8.0
を設置しました、そして、libcudnn7-dev
をダウンロードして、手動でのdeb PKGを抽出するためにdpkg-deb -xv libcudnn-dev*.deb
を行い、その後、私はlibディレクトリに移動し、その後、LD_LIBRARY_PATH
に~/cuda/lib64
を追加し、~/cuda/lib64
に生成されたlibcudnn.so
をコピーし、ar -x libcudnn*.a
とgcc -shared *.o -o libcudnn.so
を実行しますが、エラーが要求されます私はこれを解決する方法を知らない、誰かを助けることができますか?コンパイルカフェは:
そして、それは/usr/bin/ld: cannot find -lcudnn
である理由私はLD_LIBRARY_PATH/=: cannot find -lcudnn
EDITのようなものではなく、理解していない: 私は.tgzというファイルをダウンロードしてcudnnをインストールするためのインストールガイドの指示に従いますが、それはまだ、エラーを促し、私の〜/ .bashrcには設定されています。
export CUDA_HOME="~/cuda" export PATH="/home/wangtao/anaconda2/bin:$CUDA_HOME/bin:$PATH" export LD_LIBRARY_PATH="$CUDA_HOME/lib64:$LD_LIBRARY_PATH"
私は/etc/ld.so.conf
はこのようなものです見つける:
include /etc/ld.so.conf.d/*.conf /usr/local/cuda-7.0/lib64
それは~/cuda/lib64
の私の希望パスではありませんが、私は、サーバー上のルートpriviledgeを持っていないので、それを修正する方法がわからないが、私はローカルマシン上で正常にコンパイルしているが、これは難しいように思わ
あなたは何をしたのか、なぜそれがわかりません。 developer.nvidia.comからCUDNNをダウンロードし、そこの指示に従ってインストールしてください。次に、リンクできる適切なlibcudnnがあります。 '.so'ライブラリを作るために' ar'や 'gcc'を使う必要はありません。まだ登録していない場合は、登録済みの開発者としてサインアップする必要があります。リンクするとき、リンカは '/ usr/bin/ld'です。その理由はあなたがそのメッセージを受け取っている理由です。 'LD_LIBRARY_PATH'は実行時の動的リンカ/ローダシステムと関係があり、コンパイル時のリンクには関係しません。 –
ありがとうございます。私は標準のインストール手順に従っていません。なぜなら、root権限なしにインストールすることができないdeb pkgが含まれているからです。 '/ usr/bin/ld'にあるリンカがそれを見つけることができるように' libcudnn.so'の ' '/ etc/ld.so.conf'はどこですか?(しかし、私はそれを変更するためにroot権限を持っていません) –
これを行うにはルート権限は必要なく、debパッケージは必要ありません。 [ダウンロードページ](https://developer.nvidia.com/rdp/cudnn-download)にアクセスし、[cudnn library for linux]を入手してください(https://developer.nvidia.com/compute/machine-learning/cudnn /secure/v7.0.5/prod/9.0_20171129/cudnn-9.0-linux-x64-v7)(debではありません)、インストールガイドの指示、特に「tarファイルからのインストール」のセクションに従います –