venerdì 22 agosto 2014

IBM HTTP server error while loading shared libraries, come risolvere

Lavorando su una SLES 11SP1 , dovevo riavviare un IBM Http server 8, ma quando andavo a dare il comando di restart


 ./httpd -d ../conf/httpd.conf -k  restart

ho visto che non ripartiva con l'errore seguente:

./httpd: error while loading shared libraries: libaprutil-1.so.0: cannot open shared object file: No such file or directory

Dopo un pò di ricerche mi sono imbattuto in un Wiki IBM  dove ho trovato la soluzione:

tramite il comando ldd  si possono verificare le librerie da cui dipende un eseguibile

 ldd ./httpd
        linux-vdso.so.1 =>  (0x00007fff44942000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fc93e845000)
        libaprutil-1.so.0 => not found
        librt.so.1 => /lib64/librt.so.1 (0x00007fc93e63b000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fc93e400000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc93e1e2000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fc93dfde000)
        libexpat.so.0 => not found
        libapr-1.so.0 => not found
        libc.so.6 => /lib64/libc.so.6 (0x00007fc93dc69000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fc93eaec000)

Venivano identificate 3 librerie mancanti , quindi ho fatto un search sul filesystem ed ho verificato dove fossero sull file system ( nel mio caso /opt/ibm/HTTPServer/lib ).

Le librerie condivise vengono identificate all'interno del file /etc/ld.so.conf.d che generalmente include tutti i file *.conf all'interno di  /etc/ld.so.conf.d/*.conf

Ho quindi creato il file httpd-lib.conf che includesse il path dove ho trovato le librerie  

  • cd /etc/ld.so.conf.d 
  • echo /opt/ibm/HTTPServer/lib > httpd-lib.conf

Per rendere effettiva la configurazione, eliminare la cache e riavviare la conf  ldd

  • rm /etc/ld.so.cache
  • /sbin/ldconfig
dopo una nuova verifica, le librerie sono state tutte identificate

 ldd ./httpd
        libm.so.6 => /lib64/libm.so.6 (0x00007f7308922000)
        libaprutil-1.so.0 => /opt/ibm/HTTPServer/lib/libaprutil-1.so.0 (0x00007f7308808000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f73085ff000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f73083c4000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f73081a6000)
        linux-vdso.so.1 =>  (0x00007fff5ddff000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fb8dd757000)
        libaprutil-1.so.0 => /opt/ibm/HTTPServer/lib/libaprutil-1.so.0 (0x00007fb8dd63d000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f7307fa2000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fb8dd434000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fb8dd1f9000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb8dcfdb000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fb8dcdd7000)
        libexpat.so.0 => /opt/ibm/HTTPServer/lib/libexpat.so.0 (0x00007fb8dccb5000)
        libapr-1.so.0 => /opt/ibm/HTTPServer/lib/libapr-1.so.0 (0x00007fb8dcb8b000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fb8dc817000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fb8dd9fe000)
        libexpat.so.0 => /opt/ibm/HTTPServer/lib/libexpat.so.0 (0x00007f7307e80000)

è stato quindi possibile riavviare IHS 


Nessun commento:

Posta un commento