
このエラーはどういう意味ですか?カフェコンパイル?どうすれば修正できますか?
コマンド:
cd /home/aegono/CTPN/caffe
sudo make
出力:
LD -o .build_release/lib/libcaffe.so
/usr/bin/ld: cannot find -lgflahs
/usr/bin/ld: cannot find -lhdf5_serial_h1
collect2: error: ld returned 1 exit status
Makefile:515: recipe for target '.build_release/lib/libcaffe.so' failed
make: *** [.build_release/lib/libcaffe.so] Error 1/CTPN/caffe
モジュールはすでにインストールされていますが、リンク方法、リンクするファイル、それらの場所がわかりません。以下のコマンドを試しましたが、うまくいきませんでした。正しい操作をしているでしょうか?
sudo ln -s /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100.0.0 /usr/lib/x86_64-linux-gnu/hdf5_serial_h1
/home/aegono/CTPN/caffe
caffe
は私のパッケージの場所です。 で/usr/lib/x86_64-linux-gnu/
単語を検索しても何も見つかりませんでしたが、コマンドを使用してgflahs
単語を検索すると、以下の結果が表示されます。gflags
ls -l | grep 'gflags'
root@ubuntu_18-04-4_live_server:/usr/lib/x86_64-linux-gnu# ls -l | grep "gflags"
-rw-r--r-- 1 root root 258068 Aug 6 2017 libgflags.a
-rw-r--r-- 1 root root 256002 Aug 6 2017 libgflags_nothreads.a
lrwxrwxrwx 1 root root 26 Aug 6 2017 libgflags_nothreads.so ->
libgflags_nothreads.so.2.2
lrwxrwxrwx 1 root root 28 Aug 6 2017 libgflags_nothreads.so.2.2 ->
libgflags_nothreads.so.2.2.1
-rw-r--r-- 1 root root 146096 Aug 6 2017 libgflags_nothreads.so.2.2.1
lrwxrwxrwx 1 root root 16 Aug 6 2017 libgflags.so ->
libgflags.so.2.2
lrwxrwxrwx 1 root root 18 Aug 6 2017 libgflags.so.2.2 ->
libgflags.so.2.2.1
-rw-r--r-- 1 root root 150248 Aug 6 2017 libgflags.so.2.2.1
hdf5
コマンドを使用して検索するとls -l | grep 'hdf5_serial'
、以下の結果が表示されます。
root@ubuntu_18-04-4_live_server:/usr/lib/x86_64-linux-gnu# ls -l | grep "hdf5_serial"
lrwxrwxrwx 1 root root 54 Mar 24 06:01 hdf5_serial_h1 -> /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100.0.0
lrwxrwxrwx 1 root root 54 Mar 24 06:22 hdf5_serial_h1.so -> /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100.0.0
lrwxrwxrwx 1 root root 54 Mar 23 19:22 lhdf5_serial_h1 -> /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100.0.0
-rw-r--r-- 1 root root 8028880 Aug 13 2017 libhdf5_serial.a
-rw-r--r-- 1 root root 398412 Aug 13 2017 libhdf5_serial_fortran.a
lrwxrwxrwx 1 root root 33 Aug 13 2017 libhdf5_serial_fortran.so -> libhdf5_serial_fortran.so.100.0.1
lrwxrwxrwx 1 root root 33 Aug 13 2017 libhdf5_serial_fortran.so.100 -> libhdf5_serial_fortran.so.100.0.1
-rw-r--r-- 1 root root 250760 Aug 13 2017 libhdf5_serial_fortran.so.100.0.1
-rw-r--r-- 1 root root 245840 Aug 13 2017 libhdf5_serial_hl.a
-rw-r--r-- 1 root root 187354 Aug 13 2017 libhdf5_serialhl_fortran.a
lrwxrwxrwx 1 root root 35 Aug 13 2017 libhdf5_serialhl_fortran.so -> libhdf5_serialhl_fortran.so.100.0.0
lrwxrwxrwx 1 root root 35 Aug 13 2017 libhdf5_serialhl_fortran.so.100 -> libhdf5_serialhl_fortran.so.100.0.0
-rw-r--r-- 1 root root 121400 Aug 13 2017 libhdf5_serialhl_fortran.so.100.0.0
lrwxrwxrwx 1 root root 28 Aug 13 2017 libhdf5_serial_hl.so -> libhdf5_serial_hl.so.100.0.0
lrwxrwxrwx 1 root root 28 Aug 13 2017 libhdf5_serial_hl.so.100 -> libhdf5_serial_hl.so.100.0.0
-rw-r--r-- 1 root root 138576 Aug 13 2017 libhdf5_serial_hl.so.100.0.0
-rw-r--r-- 1 root root 4084 Aug 13 2017 libhdf5_serial.settings
lrwxrwxrwx 1 root root 25 Aug 13 2017 libhdf5_serial.so -> libhdf5_serial.so.100.0.1
lrwxrwxrwx 1 root root 25 Aug 13 2017 libhdf5_serial.so.100 -> libhdf5_serial.so.100.0.1
-rw-r--r-- 1 root root 3495976 Aug 13 2017 libhdf5_serial.so.100.0.1
lrwxrwxrwx 1 root root 51 Mar 23 19:17 libhdf5.so -> /usr/lib/x86_64-linux-gnu/libhd
答え1
Caffe コンパイル中にこのエラーが発生するのはどういう意味ですか? どうすれば修正できますか?
これは、おそらく編集時に誰かがライブラリ名を間違って入力したことを意味しますMakefile.config
。
「gflahs"は"gfla"であるはずであるグs"
"hdf5_serial_h1"は実際には"hdf5_serial_hl「(これはL
数字ではなく小文字です)」
モジュールはすでにインストールされていますが、リンク方法、リンクするファイル、それらの場所がわかりません。以下のコマンドを試しましたが、うまくいきませんでした。正しい操作をしているでしょうか?
いいえ。 を使用するたびに、ローダー-lfoo
すでに知っている探す必要があります。libfoo.so