Protocol Buffers 2.4.1 のビルドメモ(on Fedora 15)

GoogleのProtocol Buffersをビルドしたので備忘メモです。

前提

ビルド対象
  • protobuf-2.4.1
ビルド環境

# 作業前に2.6.41にupdateしたところ、Kernel Panicで動かなくなったのでひとまず戻しました。

手順

./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で実行します。

そんなカンジです。