環境は以下の通り。
- OS:CentOS 5.6
- heartbeat-3.0.7
- pacemaker-1.1.6-1
- autoconf-2.68
- automake-1.11
すると以下のエラーが出た。
どうやらドキュメントの生成中に、xincludeというxml関連のコマンドが無くて失敗している模様。別にドキュメントなんていらないんだけど、迷惑な話だ。Making all in doc gmake[1]: ディレクトリ `/root/src/Heartbeat-3-0-7e3a82377fa8/doc' に入ります \ --xinclude \ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl heartbeat.xml gmake[1]: --xinclude: コマンドが見つかりませんでした gmake[1]: *** [heartbeat.8] エラー 127 gmake[1]: ディレクトリ `/root/src/Heartbeat-3-0-7e3a82377fa8/doc' から出ます make: *** [all-recursive] エラー 1
調べていると、Linux-HA mailing list でも同じエラーが話題になっている。
どうやら、libxsltのRPMを入れればよいらしいので、yumでいれて問題解消。
その後./bootstrapからやり直したらうまくいった。(ちなみに、その後のmakeめちゃ長いです)
続いてpacemaker。公式HPの手順通り進めていくと、以下のエラーが出た
これはlibtoolのバージョンが古かったために発生したようで、最新のlibtool-2.4をソースから入れたら解消した。autoreconf: running: /usr/local/bin/autoconf --force --warnings=no-portability configure.ac:86: error: possibly undefined macro: AC_LIBTOOL_DLOPEN If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.ac:87: error: possibly undefined macro: AC_LIBLTDL_CONVENIENCE configure.ac:88: error: possibly undefined macro: AC_PROG_LIBTOOL autoreconf: /usr/local/bin/autoconf failed with exit status: 1 Now run ./configure configure: error: cannot find install-sh, install.sh, or shtool in . "."/.
続いてこんなエラー
configure: error: The libxslt developement headers were not foundこれはヘッダファイルがないとのことなので、libxlst-develを入れればよさそうな気がする。yumで入れたら解消した。
さらにこんなエラー
調べていると、どうやらpkg-configが悪さをしているようだ。./configure: line 16612: syntax error near unexpected token `libqb,' ./configure: line 16612: `PKG_CHECK_MODULES(libqb, libqb, HAVE_libqb=1, HAVE_libqb=0)'
PRMのバージョンを調べてみると、pkgconfig-0.21-2.el5であり、2006年ぐらいのもの。
autoconfやautomakeは最新のものをソースからコンパイルして入れているので、pkg-configだけ古いが悪かったようだ。
ココから最新のpkg-config-0.26のソースコードを落としてきて、インストール。
これでうまくいった。
つづいて、こんなエラー
PKG_CONFIG_PATHの環境変数が悪いかもとか言われているので、PKG_CONFIG_PATH=/usr/lib/pkgconfigと設定してみたが、効果なし。configure: error: Package requirements (libcpg) were not met: No package 'libcpg' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables cpg_CFLAGS and cpg_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
完全に行き詰った。
もう最新のソースはあきらめて、RPMで入れることにした。。。
嗚呼、なんて簡単なんだ。。。orz# rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm # wget -O /etc/yum.repos.d/clusterlabs.repo http://clusterlabs.org/rpm/epel-5/clusterlabs.repo # yum install pacemaker.i386
Hi fetaro,
返信削除Run install basic library for dependent
yum -y install gcc-c++ libmhash-devel libmcrypt-devel libxml2-devel libxslt-devel openssl-devel openssl curl-devel libjpeg-devel libpng-devel freetype-devel gd gd-devel xpm-devel rpm rpm-devel rpm-build make automake imake bzip2-devel quota pcre pcre-devel flex flex-devel bison-devel libnet libnet-devel libpcap libpcap-devel apr-util apr-util-devel apr apr-devel libtool
Then try again.
Hi Ferato,
返信削除After much digging I figured out that you need the corosynclib-devel package to get the missing library 'lib-cpg'.
No need to set the environment variable PKG_CONFIG_PATH.
CentOS (6.4).
Regards,
Brett