Suse Linux、gcc4.1.2を実行しているPowerPC64ベースのマシンであるBlueGeneスーパーコンピューター上でGoogleProtocolbuffersとKyotocabinetを構築しようとしています。
コードをコンパイルすると、GoogleProtocolbuffersとKyotocabinetの両方で「skipingincompatible」エラーが発生しました。コマンドラインをコンパイルします。
g++ -g -Xlinker -zmuldefs -I/some_path/include $sourceFile -o $fileName -L/some_path/lib -lkyotocabinet -lz -lstdc++ -lrt -lpthread -lm -lc -lprotobuf -lprotoc meta.pb.cc
次に、を使用してインストールを変更しました。./configure --host=powerpc-bgp-linux今回はGoogle Protocolbuffersが機能しますが、Kyotocabinetでは次のようなエラーが発生します。
/usr/bin/ld: skipping incompatible /some_path/lib/libkyotocabinet.so when searching for -lkyotocabinet
/usr/bin/ld: skipping incompatible /some_path/lib/libkyotocabinet.a when searching for -lkyotocabinet
/usr/bin/ld: cannot find -lkyotocabinet
collect2: ld returned 1 exit status
config.status私はそれらをチェックしました、GoogleProtocolbuffersはこのようなものを持っています
sys_lib_search_path_spec='/usr/lib/gcc/powerpc64-suse-linux/4.1.2 /usr/powerpc64-suse-linux/lib /usr/lib /lib'
どうやらそれは使用する適切なものを見つける方法を知っています。しかし、Kyotocabinetはconfig.statusにこの種の設定を持っていません。このヒントがお役に立てば幸いです。
BlueGeneでKyotocabinetを使用できるようにするための解決策はありますか?または、上記のような行を追加して、Kyotocabinetに正しいlibの場所を指示することはできますか?または、いくつかの高速なKey-Valueストアをお勧めしますか?