Nagios を 4 系にアップデートしてみようかと、4.0.2 をビルドしようとしたところ、
ビルドに失敗。
4.0.1 も試したけど同じように、以下のようなログを出して失敗。
$ CC=/usr/gcc/4.7/bin/gcc gmake all cd ./base && /opt/dtbld/bin/make make[1]: Entering directory `/home/tonaka/packages/BUILD/nagios-4.0.1/base' /usr/gcc/4.7/bin/gcc -Wall -I.. -g -O2 -DHAVE_CONFIG_H -DNSCORE -c -o nagios.o nagios.c In file included from nagios.c:38:0: ../include/comments.h:61:16: error: redefinition of 'struct comment' In file included from ../include/config.h:144:0, from nagios.c:35: /usr/include/pwd.h:37:8: note: originally defined here nagios.c: In function 'nagios_core_worker': nagios.c:164:2: warning: format '%d' expects argument of type 'int', but argument 3 has type 'pid_t' [-Wformat] nagios.c:164:2: warning: format '%d' expects argument of type 'int', but argument 4 has type 'pid_t' [-Wformat] make[1]: *** [nagios.o] Error 1 make[1]: Leaving directory `/home/tonaka/packages/BUILD/nagios-4.0.1/base' gmake: *** [all] Error 2
ぐぐると以下のチケットが見つかった。
Nagios Tracker - 0000476: Nagios fails to build on Solaris 11 - Mantis
http://tracker.nagios.org/view.php?id=476
include/comments.h で定義されている 'struct comment' というやつがあり、
Solaris の /usr/include/pwd.h で定義されている同名の 'struct comment' と
衝突することが原因とのこと。
この問題の解決には ABI の変更が必要なため、
次のマイナーリリースである 4.1.0 での解決になるそう。
nagios-4.1 branch では修正され Solaris 10 で動作しているらしい。
nagios-4.1 branch は以下
Nagios / Nagios Core / [c3776c]
http://sourceforge.net/p/nagios/nagioscore/ci/nagios-4.1/tree/
Referrer (Inside):
[2016-03-24-1] Nagios 4.1.1 を Solaris でビルド
comments powered by Disqus
[2016-03-24-1] Nagios 4.1.1 を Solaris でビルド