Re: Problems when configuring and compiling ndoutils on Cent
Posted: Fri Jan 24, 2014 12:06 am
I am trying compile ndoutils 1.5.2 on NagiosCore 3.5.0 with mysql 5.1.71
Support for Nagios products and services
https://support.nagios.com/forum/
Code: Select all
In file included from db.c:17:
../include/ndo2db.h:58: error: expected specifier-qualifier-list before ‘MYSQL’
db.c: In function ‘ndo2db_db_init’:
db.c:128: error: ‘ndo2db_dbconninfo’ has no member named ‘instance_id’
db.c:129: error: ‘ndo2db_dbconninfo’ has no member named ‘conninfo_id’
db.c:130: error: ‘ndo2db_dbconninfo’ has no member named ‘latest_program_status_time’
.....
Code: Select all
typedef struct ndo2db_dbconninfo_struct{
int server_type;
int connected;
int error;
#ifdef USE_MYSQL
MYSQL mysql_conn;
MYSQL_RES *mysql_result;
MYSQL_ROW mysql_row;
#endif
#ifdef USE_PGSQL
PGconn *pgsql_conn;
PGresult *pgsql_result;
#endif
unsigned long instance_id;
unsigned long conninfo_id;
Code: Select all
[root@localhost tmp]# cat /etc/redhat-release
CentOS release 6.3 (Final)
[root@localhost tmp]# uname -a
Linux localhost.localdomain 2.6.32-279.9.1.el6.x86_64 #1 SMP Tue Sep 25 21:43:11 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Code: Select all
yum install gcc make automake
Code: Select all
yum install mysql-devel
Code: Select all
[root@localhost ndoutils-1.5.2]# rpm -qa |grep mysql
mysql-libs-5.1.71-1.el6.x86_64
rsyslog-mysql-5.8.10-2.el6.x86_64
mysql-5.1.71-1.el6.x86_64
mysql-devel-5.1.71-1.el6.x86_64
mysql-server-5.1.71-1.el6.x86_64
php-mysql-5.3.3-14.el6_3.x86_64
Code: Select all
cd /tmp
wget http://sourceforge.net/projects/nagios/files/ndoutils-1.x/ndoutils-1.5.2/ndoutils-1.5.2.tar.gz/download
Code: Select all
tar fxpz ndoutils-1.5.2.tar.gz
Code: Select all
cd ndoutils-1.5.2
Code: Select all
./configure
Code: Select all
[root@localhost ndoutils-1.5.2]# make
cd ./src && make
make[1]: Entering directory `/tmp/ndoutils-1.5.2/src'
gcc -fPIC -g -O2 -I/usr/include/mysql -DHAVE_CONFIG_H -c -o io.o io.c
gcc -fPIC -g -O2 -I/usr/include/mysql -DHAVE_CONFIG_H -c -o utils.o utils.c
gcc -g -O2 -I/usr/include/mysql -DHAVE_CONFIG_H -o file2sock file2sock.c io.o utils.o -lm -lnsl
gcc -g -O2 -I/usr/include/mysql -DHAVE_CONFIG_H -o log2ndo log2ndo.c io.o utils.o -lm -lnsl
make ndo2db-2x
make[2]: Entering directory `/tmp/ndoutils-1.5.2/src'
gcc -g -O2 -I/usr/include/mysql -DHAVE_CONFIG_H -c -o db.o db.c
gcc -g -O2 -I/usr/include/mysql -DHAVE_CONFIG_H -D BUILD_NAGIOS_2X -c -o dbhandlers-2x.o dbhandlers.c
gcc -g -O2 -I/usr/include/mysql -DHAVE_CONFIG_H -D BUILD_NAGIOS_2X -o ndo2db-2x queue.c ndo2db.c dbhandlers-2x.o io.o utils.o db.o -lnsl -rdynamic -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lssl -lcrypto -lm
make[2]: Leaving directory `/tmp/ndoutils-1.5.2/src'
make ndo2db-3x
make[2]: Entering directory `/tmp/ndoutils-1.5.2/src'
gcc -g -O2 -I/usr/include/mysql -DHAVE_CONFIG_H -D BUILD_NAGIOS_3X -c -o dbhandlers-3x.o dbhandlers.c
gcc -g -O2 -I/usr/include/mysql -DHAVE_CONFIG_H -D BUILD_NAGIOS_3X -o ndo2db-3x queue.c ndo2db.c dbhandlers-3x.o io.o utils.o db.o -lnsl -rdynamic -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lssl -lcrypto -lm
make[2]: Leaving directory `/tmp/ndoutils-1.5.2/src'
make ndomod-2x.o
make[2]: Entering directory `/tmp/ndoutils-1.5.2/src'
gcc -fPIC -g -O2 -I/usr/include/mysql -DHAVE_CONFIG_H -D BUILD_NAGIOS_2X -o ndomod-2x.o ndomod.c io.o utils.o -shared -lnsl
make[2]: Leaving directory `/tmp/ndoutils-1.5.2/src'
make ndomod-3x.o
make[2]: Entering directory `/tmp/ndoutils-1.5.2/src'
gcc -fPIC -g -O2 -I/usr/include/mysql -DHAVE_CONFIG_H -D BUILD_NAGIOS_3X -o ndomod-3x.o ndomod.c io.o utils.o -shared -lnsl
make[2]: Leaving directory `/tmp/ndoutils-1.5.2/src'
gcc -g -O2 -I/usr/include/mysql -DHAVE_CONFIG_H -o sockdebug sockdebug.c io.o utils.o -lm -lnsl
make[1]: Leaving directory `/tmp/ndoutils-1.5.2/src'