Les plugins nagios compilent sans problème sous solaris 10 excepté check_mysql. La cause est la methode de creation des options de compilation lors du ./configure.
Solaris 10 dispose de packages mysql lors de l'install (SFW). Ceux ci sont compilés avec le Sun Studio et contiennent des flags incompatibles avec gcc. Faisant la compilation des plugins nagios avec gcc, ca plante immanquablement. Un moyen de résoudre le problème est d'utiliser une version des librairies et utilitaires de mysql compilés avec gcc. Pour ce faire il faut utiliser le package coolstack de sun. Ensuite bien positionner son environement :
Correct
plugins $ which mysql_config 
/opt/coolstack/mysql_32bit/bin/mysql_config
plugins $ mysql_config --cflags
-I/opt/coolstack/mysql_32bit/include/mysql -I/opt/coolstack/include -D_REENTRANT
-fPIC -DHAVE_RWLOCK_T -DUNIV_SOLARIS
Pas bon
plugins $ which mysql_config
/usr/sfw/bin/mysql_config
plugins $ mysql_config --cflags
-I/usr/sfw/include/mysql -xstrconst -mt
En effet le -xstrconst n'est pas reconnu par gcc. La compile plantera avec un message du genre :
gcc: language strconst not recognized
gcc: check_mysql.c: linker input file unused because linking not done
Finalement il reste à positionner son environement :
plugins $  env | grep PATH
LD_LIBRARY_PATH=/opt/coolstack/lib/:/usr/lib:/usr/sfw/lib

PATH=/opt/coolstack/mysql_32bit/bin/:/usr/sfw/bin/:/usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/ccs/bin
Et utiliser la commande suivante pour compiler le tout :
plugins $ ./configure --without-ipv6 --with-openssl=/usr/sfw/lib \
--with-ps-command="/usr/bin/ps -eo 's uid pid ppid vsz rss pcpu etime comm args'"\
--with-ps-format="%s %d %d %d %d %d %f %s %s %n" --with-ps-cols=10\
--with-ps-varlist='procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procetime,procprog,&pos'
plugins $ gmake
Les arguements à rallonge sur ps est pour faire comprendre la syntaxe de ps solaris à Nagios, ne pas utiliser ipV6 et donner la bonne lib ssl.