So-net無料ブログ作成

インフラエンジニアのためのkumofs情報 CentOS4 へのインストール その2 [kumofs]

次に、MessagePack for C++をconfigureしようとすると・・・
$ tar xzvf msgpack-0.4.3.tar.gz
$ cd msgpack-0.4.3
$ CC=gcc4 CXX=g++4 ./configure
 :
Note that gcc < 4.1 is not supported.

If you are using gcc >= 4.1 and the default target CPU architecture is "i386", try to
add CFLAGS="--march=i686" and CXXFLAGS="-march=i668" options to ./configure as follows:

  $ ./configure CFLAGS="-march=i686" CXXFLAGS="-march=i686"

と言って止まってしまう。gcc41は間違いなくインストール済みなので、CPUアーキテクチャの
判定をミスっているもよう。言われたとおりのオプションを指定してやり直し。
$ CC=gcc4 CXX=g++4 ./configure CFLAGS="-march=i686" CXXFLAGS="-march=i686"
$ make
$ sudo /usr/local/sbin/checkinstall --exclude=/selinux
...
$ sudo rpm -ivh /usr/src/redhat/RPMS/i386/msgpack-0.4.3-1.i386.rpm

MessagePack for Ruby
$ sudo gem install msgpack

そして、kumofsのビルドに入るはずなのですが、configureすると・・・
まず、MessagePackの時と同様、CFLAGS指定を要求してくる。追加指定して、make
しようとすると・・・
なにやらincludeファイルのNot Foundが山のように出てくる。
ファイル名を頼りに調べると、boost(C++ライブラリ)が無いようです。これはCentOSの
あるバージョン以降からは標準で入っているようなのですが、CentOS4.8ではデフォルト
どころか、yumでも入らない。
仕方がないので、ソースを拾ってきて、指定どおりビルド。いちおうrpm化しましたが
ビルドの時しか使わないでしょう。
$ tar xzvf boost_1_44_0.tar.gz
$ cd boost_1_44_0
$ ./bootstrap.sh --prefix=/usr
$ sudo /usr/local/sbin/checkinstall ./bjam install
$ sudo rpm -ivh /usr/src/redhat/RPMS/i386/boost_1_44_0-20100921-1.i386.rpm

このライブラリ、とても大きく、ビルドだけで1時間近くかかる。
気を取り直してconfigureし直すも、まだだめ。ファイルだけじゃなく、そもそも存在
しないディレクトリを参照してる。
そこで、エラーの内容と、CentOS5の/usr/include以下のディレクトリ構成を参考にして
シンボリックリンクを張ってみる。
$ cd /usr/include/c++
$ ls
3.4.3
$ g++4 -v
cc バージョン 4.1.2 20080704 (Red Hat 4.1.2-44)
$ sudo ln -s 3.4.3 4.1.2
$ ls -la
drwxr-xr-x   7 root root 4096 9月 21日 18:32 3.4.3
lrwxrwxrwx   1 root root    5 9月 21日 18:34 4.1.2 -> 3.4.3
$ cd 4.1.2
$ sudo ln -s /usr/include/boost/tr1/tr1 tr1

(g++4のバージョンに合わせて適宜読み替えてください)
これで無事kumofsのconfigureが通る。
$ cd kumofs-0.4.5
$ CC=gcc4 CXX=g++4 ./configure CFLAGS="-march=i686" CXXFLAGS="-march=i686"
$ make
$ sudo /usr/local/sbin/checkinstall --exclude=/selinux
...
$ sudo rpm -ivh /usr/src/redhat/RPMS/i386/kumofs-0.4.5-1.i386.rpm

ほかのマシンにもインストールする場合は、これまでに作ったrpmパッケージを順番に
インストールすればOKです。(bootsは要らない)


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。