rsyslog のコンパイルでエラー


古いサーバに rsyslog をコンパイルしてインストールしようとしたらこんなエラーが。

CPPFLAGS=”-I/usr/include -I/usr/local/mysql/include -I/usr/local/include” LDFLAGS=”-L/usr/lib -L/usr/local/mysql/lib” PATH=$PATH:/usr/local/mysql/bin ./configure –enable-mysql –enable-mail –enable-imfile –enable-omstdout ; make

checking for a BSD-compatible install… /usr/bin/install -c
checking whether build environment is sane… yes
checking for a thread-safe mkdir -p… /bin/mkdir -p
checking for gawk… gawk
checking whether make sets $(MAKE)… yes
checking for style of include used by make… GNU
checking for gcc… gcc
checking whether the C compiler works… yes



../runtime/.libs/librsyslog.a(librsyslog_la-wti.o): In function `wtiCancelThrd’:
/root/src/rsyslog-4.6.5/runtime/wti.c:181: undefined reference to `ATOMIC_STORE_1_TO_INT’
collect2: ld returned 1 exit status
make[2]: *** [rsyslogd] Error 1
make[2]: Leaving directory `/root/src/rsyslog-4.6.5/tools’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/src/rsyslog-4.6.5′
make: *** [all] Error 2

[環境]
CentOS release 5.2 (Final)
Linux test.test.local 2.6.18-92.1.22.el5PAE #1 SMP Tue Dec 16 12:36:25 EST 2008 i686 i686 i386 GNU/Linux

こちらを参照。

CFLAGS=”-march=i586 -mcpu=i686″

このオプションを追加する事でインストールができました。

CFLAGS=”-march=i586 -mcpu=i686″ CPPFLAGS=”-I/usr/include -I/usr/local/mysql/include -I/usr/local/include” LDFLAGS=”-L/usr/lib -L/usr/local/mysql/lib” PATH=$PATH:/usr/local/mysql/bin ./configure –enable-mysql –enable-mail –enable-imfile –enable-omstdout

rsyslogを勉強するならこちらで調べてみてはどうでしょうか?
[rakuten]001:9784774146225[/rakuten]

コメントを残す

メールアドレスが公開されることはありません。