Reputation: 10595
We are facing the issue while starting the Apache. The version of Apache is: 2.0.61.
The Error which we faced is as follows:
/home/ndipiazza/apache-2.0/bin/rotatelogs: error while loading shared libraries: libaprutil-0.so.0: cannot open shared object file: No such file or directory
However, you can see from the below commands that this file does in fact exist:
[ /home/ndipiazza/apache-2.0/bin ]
ndipiazza@mybox > ldd /home/ndipiazza/apache-2.0/bin/httpd
linux-vdso.so.1 => (0x00007fffe3de3000)
libssl.so.0.9.8 => /usr/lib64/libssl.so.0.9.8 (0x00007f0a55c61000)
libcrypto.so.0.9.8 => /usr/lib64/libcrypto.so.0.9.8 (0x00007f0a558e5000)
libaprutil-0.so.0 => /home/ndipiazza/apache-2.0/lib/libaprutil-0.so.0 (0x00007f0a556cd000)
libexpat.so.0 => /home/ndipiazza/apache-2.0/lib/libexpat.so.0 (0x00007f0a554a7000)
libapr-0.so.0 => /home/ndipiazza/apache-2.0/lib/libapr-0.so.0 (0x00007f0a5527e000)
librt.so.1 => /lib64/librt.so.1 (0x00007f0a55075000)
libm.so.6 => /lib64/libm.so.6 (0x00007f0a54e1f000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f0a54be3000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f0a549cb000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0a547ae000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f0a545a9000)
libc.so.6 => /lib64/libc.so.6 (0x00007f0a5424b000)
libz.so.1 => /lib64/libz.so.1 (0x00007f0a54035000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0a55ec3000)
[ /home/ndipiazza/apache-2.0/lib ]
ndipiazza@mybox > ll
total 3764
-rw-r----- 1 nddsrvr ndd 7891 2012-03-29 09:04 apr.exp
-rw-r----- 1 nddsrvr ndd 3692 2012-03-29 09:04 aprutil.exp
-rw-r--r-- 1 nddsrvr ndd 1124092 2012-03-29 09:04 libapr-0.a
-rw-r----- 1 nddsrvr ndd 851 2012-03-29 09:04 libapr-0.la
lrwxrwxrwx 1 nddsrvr ndd 18 2012-03-29 09:04 libapr-0.so -> libapr-0.so.0.9.16
lrwxrwxrwx 1 nddsrvr ndd 18 2012-03-29 09:04 libapr-0.so.0 -> libapr-0.so.0.9.16
-rwxr-x--x 1 nddsrvr ndd 614060 2012-03-29 09:04 libapr-0.so.0.9.16
-rw-r--r-- 1 nddsrvr ndd 622102 2012-03-29 09:04 libaprutil-0.a
-rw-r----- 1 nddsrvr ndd 841 2012-03-29 09:04 libaprutil-0.la
lrwxrwxrwx 1 nddsrvr ndd 22 2012-03-29 09:04 libaprutil-0.so -> libaprutil-0.so.0.9.16
lrwxrwxrwx 1 nddsrvr ndd 22 2012-03-29 09:04 libaprutil-0.so.0 -> libaprutil-0.so.0.9.16
-rwxr-x--x 1 nddsrvr ndd 344948 2012-03-29 09:04 libaprutil-0.so.0.9.16
-rw-r--r-- 1 nddsrvr ndd 687836 2012-03-29 09:04 libexpat.a
-rwxr-xr-x 1 nddsrvr ndd 811 2012-03-29 09:04 libexpat.la
lrwxrwxrwx 1 nddsrvr ndd 17 2012-03-29 09:04 libexpat.so -> libexpat.so.0.1.0
lrwxrwxrwx 1 nddsrvr ndd 17 2012-03-29 09:04 libexpat.so.0 -> libexpat.so.0.1.0
-rwxr-xr-x 1 nddsrvr ndd 404946 2012-03-29 09:04 libexpat.so.0.1.0
We tried
export LD_LIBRARY_PATH=/home/ndipiazza/apache-2.0/lib:$LD_LIBRARY_PATH
then starting apache but this did not solve the issue.
What can we do?
Upvotes: 1
Views: 9609
Reputation: 10595
We found out that earlier versions of Apache 2 like this one sometimes have problems getting the LD_LIBRARY_PATH exports from the rotatelogs process.
We instead of using rotatelogs to rotate the logs, we used a custom script custom_rotatelogs.sh:
#!/bin/sh
export LD_LIBRARY_PATH=/home/ndipiazza/apache-2.0/lib:$LD_LIBRARY_PATH
rotatelogs $1 $2 $3 $4 $5
This worked well.
Upvotes: 1