Protocol Buffers 2.4.1 のビルドメモ(on Fedora 15)
GoogleのProtocol Buffersをビルドしたので備忘メモです。
前提
ビルド対象
- protobuf-2.4.1
手順
./configure --prefix=/usr
make
make check
sudo make install
configureのプレフィックスは、デフォルトでインストールされる場所がライブラリの通常のリンクパスにないとかだったので、付けました。後から指定することもできるようです。
make checkしたら鬼のようにテストが実行され、結果が表示されます。RUN! OK! RUN! OK!
ビルドに成功すると、/usr/lib以下に次のファイルが作成されます。
libprotobuf.a libprotobuf.la libprotobuf-lite.a libprotobuf-lite.la libprotobuf-lite.so libprotobuf-lite.so.7 libprotobuf-lite.so.7.0.0 libprotobuf.so libprotobuf.so.7 libprotobuf.so.7.0.0 libprotoc.a libprotoc.la libprotoc.so libprotoc.so.7 libprotoc.so.7.0.0 pkgconfig
トラブルシューティング
ポカミス落ち穂拾い。
C++コンパイラが必要
checking how to run the C++ preprocessor... /lib/cpp configure: error: in `/{USER_HOME}/protobuf/protobuf-2.4.1': configure: error: C++ preprocessor "/lib/cpp" fails sanity check See `config.log' for more details.
configureで上のように怒られる場合、C++コンパイラがインストールされていません。gccがあってもC++コンパイラがないとダメです。
パッケージインストールします。
$ sudo yum install gcc-c++
installはrootで
make[2]: Nothing to be done for `install-exec-am'. test -z "/usr/lib/pkgconfig" || /bin/mkdir -p "/usr/lib/pkgconfig" /bin/mkdir: cannot create directory `/usr/lib/pkgconfig': Permission denied make[2]: *** [install-pkgconfigDATA] Error 1
installで上のように怒られる場合、権限が足りません。
installは、rootで実行します。
そんなカンジです。