nagiosインストールメモ

お試し用にnagiosのインストールをやったのでメモ。
基本的にはドキュメントどおりでOK.
ただ何故かmake allで詰まった。


nagios-3.0.6.tar.gzを落としてきて、解凍してconfigureしてmake allするところでエラーが発生。

status.c: In function `main':
status.c:249: parse error before `int'
status.c:251: `i' undeclared (first use in this function)
status.c:251: (Each undeclared identifier is reported only once
status.c:251: for each function it appears in.)
status.c:251: `len' undeclared (first use in this function)
status.c:251: `regex_i' undeclared (first use in this function)
make[1]: *** [status.cgi] エラー 1
make[1]: 出ます ディレクトリ `/downloads/nagios-3.0.6/cgi'
make: *** [all] エラー 2

status.cの該当部分をを見てみると、別に普通に見える。

     /* allocate for 3 extra chars, ^, $ and \0 */
     host_filter = malloc(sizeof(char) * (strlen(host_name) * 2 + 3));
     int regex_i=1,i=0; <--ここが249行目
     int len=strlen(host_name);
     for (i=0;i<len;i++,regex_i++) {
             if(host_name[i]=='*') {
                     host_filter[regex_i++]='.';
                     host_filter[regex_i]='*';
                     }
             else
                     host_filter[regex_i]=host_name[i];
             }
     host_filter[0]='^';
     host_filter[regex_i++]='$';
     host_filter[regex_i]='\0';
     }

はっきりいってぜんぜんわからないので、途方にくれたんだけど、あてずっぽうでエラーになった行をちょっと前に持っていったら通った。
なんなんでしょう。

     int regex_i=1;
     int i=0;
     int len=strlen(host_name);

     /* allocate for 3 extra chars, ^, $ and \0 */
     host_filter = malloc(sizeof(char) * (strlen(host_name) * 2 + 3));
------------------
環境
------------------
OS:Red Hat Enterprise Linux WS release 2.1 (Tampa)
Kernel:2.4.9-e.62smp

# rpm -q glibc
glibc-2.2.4-32.25
# rpm -q glibc-devel
glibc-devel-2.2.4-32.25
# rpm -q gd
gd-1.8.4-4.21.1
# rpm -q gd-devel
gd-devel-1.8.4-4.21.1
# rpm -q gcc
gcc-2.96-129.7.2