2

Linux Ubuntu 64 に Caffe をインストールしようとすると、エラーが発生します。エラーは次のとおりです。

/usr/bin/ld: /usr/local/lib/libgflags.a(gflags.cc.o): 再配置 R_X86_64_32S に対する `.rodata' は、共有オブジェクトを作成するときに使用できません。-fPIC で再コンパイル
/usr/local/lib/libgflags.a: シンボルの追加中にエラーが発生しました: 値が正しくありません

gflags ライブラリを で再コンパイルしようとしまし-fPICたが、エラーは次のように変わりました。

src/caffe/common.cpp: 関数 'void caffe::GlobalInit(int*, char***)':
src/caffe/common.cpp:35:5: エラー: '::gflags' が宣言されていません
::gflags::ParseCommandLineFlags(pargc, pargv, true);

また、caffe の CMakeCache.txt を変更して を設定しようとしましたが、-fPICどちらも機能しません。

4

1 に答える 1

2

このエラーは、gflags 2.1 が名前空間の名前を からgoogleに変更したために発生しますgflags。最終的には確定していませんが、カフェ コミュニティのメンバーがこのエラーを修正しようと試みています。次のように、名前空間を google から gflags に再割り当てする必要があります。

ファイル内

  • カフェ/インクルード/カフェ/common.hpp
  • カフェ/例/mnist/convert_mnist_data.cpp

コメントアウトifndef

// #ifndef GFLAGS_GFLAGS_H_
namespace gflags = google;
// #endif  // GFLAGS_GFLAGS_H_

これは一時的に機能するはずです。コードの最新の更新を取得できるように、caffe リポジトリをフォークし、時々 github の BVLC/caffe リポジトリと同期する必要があります。

于 2015-06-30T03:53:33.607 に答える