Hi
I am trying to get httpd onto a freshly updated, although long time ago installed CentOS 4 box. Its fully updated to 4.7 however when trying to install httpd this is the error i get, well i should say install is fine but httpd cant start.
# yum install httpd
-- snip --
Dependencies Resolved
============================================================================= Package Arch Version Repository Size ============================================================================= Installing: httpd i386 2.0.52-41.ent.centos4 base 902 k Installing for dependencies: apr i386 0.9.4-24.9 base 93 k apr-util i386 0.9.4-22.el4 base 51 k httpd-suexec i386 2.0.52-41.ent.centos4 base 30 k
Transaction Summary ============================================================================= Install 4 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 1.1 M Is this ok [y/N]: y Downloading Packages: Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: apr ######################### [1/4] Installing: apr-util ######################### [2/4] Installing: httpd ######################### [3/4] Installing: httpd-suexec ######################### [4/4]
Installed: httpd.i386 0:2.0.52-41.ent.centos4 Dependency Installed: apr.i386 0:0.9.4-24.9 apr-util.i386 0:0.9.4-22.el4 httpd-suexec.i386 0:2.0.52-41.ent.centos4 Complete!
# /etc/init.d/httpd start Starting httpd: /usr/sbin/httpd: symbol lookup error: /usr/lib/libaprutil-0.so.0: undefined symbol: gdbm_errno [FAILED]
any clues here ??
thanks
Tom Brown wrote: ...
# /etc/init.d/httpd start Starting httpd: /usr/sbin/httpd: symbol lookup error: /usr/lib/libaprutil-0.so.0: undefined symbol: gdbm_errno [FAILED]
any clues here ??
A google search suggests relabeling, if SElinux is enabled:
touch /.autorelabel reboot
Mogens
Tom Brown wrote: ...
# /etc/init.d/httpd start Starting httpd: /usr/sbin/httpd: symbol lookup error: /usr/lib/libaprutil-0.so.0: undefined symbol: gdbm_errno [FAILED]
any clues here ??
What does
# ldd /usr/lib/libaprutil-0.so.0
write?
I get:
libldap-2.2.so.7 => /usr/lib/libldap-2.2.so.7 (0x009ab000) liblber-2.2.so.7 => /usr/lib/liblber-2.2.so.7 (0x00b42000) libdb-4.2.so => /lib/tls/i686/libdb-4.2.so (0x00111000) libexpat.so.0 => /usr/lib/libexpat.so.0 (0x002d7000) libapr-0.so.0 => /usr/lib/libapr-0.so.0 (0x00333000) librt.so.1 => /lib/tls/librt.so.1 (0x001df000) libm.so.6 => /lib/tls/libm.so.6 (0x00f61000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x00a43000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x003b1000) libdl.so.2 => /lib/libdl.so.2 (0x008fc000) libc.so.6 => /lib/tls/libc.so.6 (0x00721000) libresolv.so.2 => /lib/libresolv.so.2 (0x00461000) libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x00511000) libssl.so.4 => /lib/libssl.so.4 (0x00c56000) libcrypto.so.4 => /lib/libcrypto.so.4 (0x00525000) /lib/ld-linux.so.2 (0x00ed0000) libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x001f3000) libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00207000) libcom_err.so.2 => /lib/libcom_err.so.2 (0x0026c000) libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x0026f000) libz.so.1 => /usr/lib/libz.so.1 (0x00290000)
BTW, is there a /usr/lib/libgdbm.so.2.0.0 file on your system? That's the only file in /usr/lib that contains the string "gdbm_errno".
Mogens
What does
# ldd /usr/lib/libaprutil-0.so.0
write?
I get:
libldap-2.2.so.7 => /usr/lib/libldap-2.2.so.7 (0x009ab000) liblber-2.2.so.7 => /usr/lib/liblber-2.2.so.7 (0x00b42000) libdb-4.2.so => /lib/tls/i686/libdb-4.2.so (0x00111000) libexpat.so.0 => /usr/lib/libexpat.so.0 (0x002d7000) libapr-0.so.0 => /usr/lib/libapr-0.so.0 (0x00333000) librt.so.1 => /lib/tls/librt.so.1 (0x001df000) libm.so.6 => /lib/tls/libm.so.6 (0x00f61000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x00a43000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x003b1000) libdl.so.2 => /lib/libdl.so.2 (0x008fc000) libc.so.6 => /lib/tls/libc.so.6 (0x00721000) libresolv.so.2 => /lib/libresolv.so.2 (0x00461000) libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x00511000) libssl.so.4 => /lib/libssl.so.4 (0x00c56000) libcrypto.so.4 => /lib/libcrypto.so.4 (0x00525000) /lib/ld-linux.so.2 (0x00ed0000) libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x001f3000) libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00207000) libcom_err.so.2 => /lib/libcom_err.so.2 (0x0026c000) libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x0026f000) libz.so.1 => /usr/lib/libz.so.1 (0x00290000)
# ldd /usr/lib/libaprutil-0.so.0 libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00ca1000) libc.so.6 => /lib/tls/libc.so.6 (0x00324000) /lib/ld-linux.so.2 (0x00b77000)
BTW, is there a /usr/lib/libgdbm.so.2.0.0 file on your system? That's the only file in /usr/lib that contains the string "gdbm_errno".
# ll /usr/lib/libgdbm.so.2.0.0 -rwxr-xr-x 1 root root 23616 Feb 21 2005 /usr/lib/libgdbm.so.2.0.0
Tom Brown wrote: ...
# ldd /usr/lib/libaprutil-0.so.0 libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00ca1000) libc.so.6 => /lib/tls/libc.so.6 (0x00324000) /lib/ld-linux.so.2 (0x00b77000)
That was a short list!
Is /usr/lib/libaprutil-0.so.0 a symlink to libaprutil-0.so.0.9.4 ?
Mogens
# ldd /usr/lib/libaprutil-0.so.0 libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00ca1000) libc.so.6 => /lib/tls/libc.so.6 (0x00324000) /lib/ld-linux.so.2 (0x00b77000)
That was a short list!
i know! - i was a bit surprised there
Is /usr/lib/libaprutil-0.so.0 a symlink to libaprutil-0.so.0.9.4 ?
yes - although different version number
# ll /usr/lib/libaprutil-0.so.0 lrwxrwxrwx 1 root root 21 Nov 12 12:37 /usr/lib/libaprutil-0.so.0 -> libaprutil-0.so.0.9.6
Tom Brown wrote: ...
yes - although different version number
# ll /usr/lib/libaprutil-0.so.0 lrwxrwxrwx 1 root root 21 Nov 12 12:37 /usr/lib/libaprutil-0.so.0 -> libaprutil-0.so.0.9.6
Do you also have the /usr/lib/libaprutil-0.so.0.9.4 file?
What does
# rpm -qf /usr/lib/libaprutil-0.so.0.9.6
write?
Mogens
Do you also have the /usr/lib/libaprutil-0.so.0.9.4 file?
What does
# rpm -qf /usr/lib/libaprutil-0.so.0.9.6
write?
# rpm -qf /usr/lib/libaprutil-0.so.0.9.6 file /usr/lib/libaprutil-0.so.0.9.6 is not owned by any package
although thats a symlink created today - i presume by the http install
# ll /usr/lib/libaprutil-0.so.0 lrwxrwxrwx 1 root root 21 Nov 12 12:37 /usr/lib/libaprutil-0.so.0 -> libaprutil-0.so.0.9.6
and the actual file
# rpm -qf /usr/lib/libaprutil-0.so.0 apr-util-0.9.4-22.el4
hope that helps a bit
Tom Brown wrote:
Do you also have the /usr/lib/libaprutil-0.so.0.9.4 file?
What does
# rpm -qf /usr/lib/libaprutil-0.so.0.9.6
write?
# rpm -qf /usr/lib/libaprutil-0.so.0.9.6 file /usr/lib/libaprutil-0.so.0.9.6 is not owned by any package
That is strange; is /usr/lib/libaprutil-0.so.0.9.6 a real file or a symlink?
although thats a symlink created today - i presume by the http install
# ll /usr/lib/libaprutil-0.so.0 lrwxrwxrwx 1 root root 21 Nov 12 12:37 /usr/lib/libaprutil-0.so.0 -> libaprutil-0.so.0.9.6
and the actual file
# rpm -qf /usr/lib/libaprutil-0.so.0 apr-util-0.9.4-22.el4
Do you also have the /usr/lib/libaprutil-0.so.0.9.4 file?
Mogens
That is strange; is /usr/lib/libaprutil-0.so.0.9.6 a real file or a symlink?
# ll /usr/lib/libaprutil-0.so.0.9.6 -rwxr-xr-x 1 root root 306917 Dec 11 2007 /usr/lib/libaprutil-0.so.0.9.6
Do you also have the /usr/lib/libaprutil-0.so.0.9.4 file?
yeap -
# ll /usr/lib/libaprutil-0.so.0.9.4 -rwxr-xr-x 1 root root 81236 Jan 29 2008 /usr/lib/libaprutil-0.so.0.9.4
Tom Brown wrote: ..
# ll /usr/lib/libaprutil-0.so.0.9.6
If you move the 0.9.6 file to a safe place, change the symlink to the 0.9.4 file and run ldconfig, does httpd work?
What else doesn't work? :-)
Mogens
# ll /usr/lib/libaprutil-0.so.0.9.6
If you move the 0.9.6 file to a safe place, change the symlink to the 0.9.4 file and run ldconfig, does httpd work?
# rm -f /usr/lib/libaprutil-0.so.0 # ln -s /usr/lib/libaprutil-0.so.0.9.4 /usr/lib/libaprutil-0.so.0 # ldconfig
# /etc/init.d/httpd start Starting httpd: /usr/sbin/httpd: symbol lookup error: /usr/lib/libaprutil-0.so.0: undefined symbol: gdbm_errno [FAILED]
What else doesn't work? :-)
everything else is fine!!
Hi
On Wed, Nov 12, 2008 at 12:32, Tom Brown tom@ng23.net wrote:
# /etc/init.d/httpd start Starting httpd: /usr/sbin/httpd: symbol lookup error: /usr/lib/libaprutil-0.so.0: undefined symbol: gdbm_errno [FAILED]
I've had a similar problem, and it was a software that had a custom version of gdbm library and set LD_LIBRARY_PATH in profile to make sure that version would be used.
Do you have LD_LIBRARY_PATH set? What does this command say:
# echo $LD_LIBRARY_PATH
If you do, try unsetting it before starting httpd:
# LD_LIBRARY_PATH= service httpd start
HTH, Filipe
I've had a similar problem, and it was a software that had a custom version of gdbm library and set LD_LIBRARY_PATH in profile to make sure that version would be used.
Do you have LD_LIBRARY_PATH set? What does this command say:
# echo $LD_LIBRARY_PATH
If you do, try unsetting it before starting httpd:
# LD_LIBRARY_PATH= service httpd start
thanks for the thought but LD_LIBRARY_PATH was not set - just for kicks i unset it anyhow and tried again - no dice
# export LD_LIBRARY_PATH= # /etc/init.d/httpd start Starting httpd: /usr/sbin/httpd: symbol lookup error: /usr/lib/libaprutil-0.so.0: undefined symbol: gdbm_errno [FAILED]
i am stumped! i wish i could rebuild the box but i cant....
Tom Brown wrote:
# ll /usr/lib/libaprutil-0.so.0.9.6
If you move the 0.9.6 file to a safe place, change the symlink to the 0.9.4 file and run ldconfig, does httpd work?
# rm -f /usr/lib/libaprutil-0.so.0 # ln -s /usr/lib/libaprutil-0.so.0.9.4 /usr/lib/libaprutil-0.so.0 # ldconfig
After this, what does
# ls -l /usr/lib/libaprutil-0.so.0
link to?
Mogens
After this, what does
# ls -l /usr/lib/libaprutil-0.so.0
link to?
it seems to be getting changed back!!
# rm -f /usr/lib/libaprutil-0.so.0 # ln -s /usr/lib/libaprutil-0.so.0.9.4 /usr/lib/libaprutil-0.so.0 # ls -l /usr/lib/libaprutil-0.so.0 /usr/lib/libaprutil-0.so.0 -> /usr/lib/libaprutil-0.so.0.9.4
# ldconfig # ls -l /usr/lib/libaprutil-0.so.0 /usr/lib/libaprutil-0.so.0 -> libaprutil-0.so.0.9.6
Tom Brown wrote: ...
it seems to be getting changed back!!
You should have moved the 0.9.6 file before running ldconfig, as I wrote.
If something else depends upon the 0.9.6 file, this could be started after having set LD_LIBRARY_PATH to the directory where you've moved the 0.9.6 file.
Mogens