vendredi 25 juin 2010

Compilation NRPE sous AIX 5.3 avec support du SSL

J'ai eu dernièrement besoin de compiler un agent nagios NRPE pour AIX 5.3. Malheureusement pour moi, cet OS est livré sans librairie dynamique openssl (ie libssl.so). J'ai donc du compiler nrpe en static.

N'ayant pas trouver d'information intéressante sur le net (en dehors de désactiver le ssl), je me suis dit que ce genre d'information pourrait être utile à d'autre.

Tout d'abord, modifier le fichier configure de la manière suivante (sur une version 2.12 de nrpe) :


$ diff configure.orig configure
6673c6673
< if test -f "$dir/libssl.so"; then
---
> if test -f "$dir/libssl.a"; then
6687c6687
< LIBS="$LIBS -lssl -lcrypto";
---
> LIBS="$LIBS $ssllibdir/libssl.a $ssllibdir/libcrypto.a";


Le patch consiste à changer la nature du fichier recherché (libssl.a à la place de libssl.so) et remplacer les flags de compilation -lssl et -lcrypto par les fichiers des bibliothèques que l'on vient de trouver.

Il ne reste plus qu'à lancer configure avec les options suivantes :
./configure --with-ssl=/opt/freeware --with-ssl-lib=/opt/freeware/lib --prefix=/opt/nagios


Un coup de make ; make install et vous disposez maintenant des binaires nrpe et check_nrpe à la mode AIX et surtout avec le support du SSL.

5 commentaires:

  1. Ce commentaire a été supprimé par l'auteur.

    RépondreSupprimer
  2. Il y a aussi le nrpe.c à modifier (vers la ligne 619) et mettre en commentaire...

    /*else if(!strcmp(varvalue,"ftp"))
    log_facility=LOG_FTP;
    */

    Enfin du moins sur la machine où j'étais...

    RépondreSupprimer
  3. Effectivement mais il me semble que j'ai utilisé une solution différente. J'essaye de regarder ça demain et je laisse une trace dans le coin pour expliquer ça.

    RépondreSupprimer
  4. Bonjour,
    Connaissez vous une méthode pour installer nrpe sous AIX 4.1 ??

    Merci

    RépondreSupprimer
  5. AIX 4.1 ??? Là, je ne peux rien vous dire étant donné que ça fait très longtemps que je n'ai plus accès à un OS aussi vieux.

    Pourquoi ne passeriez-vous pas par des tests sur vos agents SNMP ou à la limite via un check_by_ssh ?

    RépondreSupprimer