Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 20129 - Apache won't start as PHP can't load libpq.so.2
Summary: Apache won't start as PHP can't load libpq.so.2
Status: VERIFIED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: x86 All
: High major (vote)
Assignee: PgSQL Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-04-28 17:14 UTC by Dries Buytaert
Modified: 2004-03-29 11:11 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dries Buytaert 2003-04-28 17:14:47 UTC
Syntax error on line 57 of /etc/apache/conf/apache.conf:
Cannot load /etc/apache/extramodules/libphp4.so into server: libpq.so.2: cannot open shared object file: No such file or directory.

I do have PostgreSQL installed but the corresponding library is called libpq.so.3 instead of libpq.so.2.  I tried recompiling both PostgreSQL and PHP, yet to no avail.  Creating a symbolic link from libpq.so.3 to libpq.so.2 solves the problem but might not be the proper solution.

Reproducible: Always
Steps to Reproduce:
Comment 1 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-04-28 17:28:34 UTC
could you please include the output of 'ldd /etc/apache/extramodules/libphp4.so', as well as 'emerge info' ?
Comment 2 Dries Buytaert 2003-04-28 17:49:38 UTC
Sorry, I should have done that in first place:

$ ldd /etc/apache/extramodules/libphp4.so
        libsablot.so.0 => /usr/lib/libsablot.so.0 (0x40242000)
        libexpat.so.0 => /usr/lib/libexpat.so.0 (0x40301000)
        libpq.so.2 => /usr/lib/libpq.so.2 (0x40327000)
        libpdf.so.1 => /usr/lib/libpdf.so.1 (0x4033d000)
        libz.so.1 => /usr/lib/libz.so.1 (0x403e0000)
        libpng.so.3 => /usr/lib/libpng.so.3 (0x403ef000)
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4041a000)
        libmhash.so.2 => /usr/lib/libmhash.so.2 (0x40453000)
        libmcrypt.so.4 => /usr/lib/libmcrypt.so.4 (0x40474000)
        libltdl.so.3 => /usr/lib/libltdl.so.3 (0x404ad000)
        libldap.so.2 => /usr/lib/libldap.so.2 (0x404b5000)
        liblber.so.2 => /usr/lib/liblber.so.2 (0x404dc000)
        libt1.so.1 => /usr/lib/libt1.so.1 (0x404e4000)
        libttf.so.2 => /usr/lib/libttf.so.2 (0x40532000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4055b000)
        libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x4063c000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x4064b000)
        libdb-3.2.so => /usr/lib/libdb-3.2.so (0x4066c000)
        libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x4070a000)
        libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x40712000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x40721000)
        libssl.so.0.9.6 => /usr/lib/libssl.so.0.9.6 (0x4074e000)
        libcrypto.so.0.9.6 => /usr/lib/libcrypto.so.0.9.6 (0x4077d000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x40841000)
        libm.so.6 => /lib/libm.so.6 (0x40852000)
        libxmlparse.so.0 => /usr/lib/libxmlparse.so.0 (0x40876000)
        libxmltok.so.0 => /usr/lib/libxmltok.so.0 (0x4087f000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0x40899000)
        libc.so.6 => /lib/libc.so.6 (0x4094a000)
        libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/libstdc++.so.5 (0x40a7a000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x40b45000)
        libdl.so.2 => /lib/libdl.so.2 (0x40b5b000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
        libgcc_s.so.1 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/libgcc_s.so.1 (0x40b5e000)

And in particular:

$ ldd /etc/apache/extramodules/libphp4.so | grep libpq
        libpq.so.2 => /usr/lib/libpq.so.2 (0x40327000)

As for 'emerge info':

$ emerge info
Portage 2.0.47-r10 (default-x86-1.4, gcc-2.95.3, glibc-2.3.1-r4)
=================================================================
System uname: 2.4.20 i686 Pentium III (Coppermine)
GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="x86 oss 3dnow crypt encode libg++ mikmod mmx xmms xv berkdb slang readline arts svga sdl gpm tcpd pam libwww ssl perl python imlib -alsa apm avi cups gd gif kde gdbm -gnome -gtk -java jikes jpeg ldap mbox -mailbox motif mpeg mysql ncurses -nls oggvorbis opengl pcmcia pdflib png postgres phyton qt quicktime samba spell tetex truetype wavelan wmf xml xml2 X zlib"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=i686 -O3 -pipe"
CXXFLAGS="-march=i686 -O3 -pipe"
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache"

$ emerge -p -v php
[ebuild   R  ] dev-php/php-4.3.1  +truetype +postgres -tiff +libwww -nls +jpeg +readline +ssl -oci8 +mysql +X +gdbm -curl -imap +xml2 +xml -cjk +pdflib +qt -snmp +crypt -flash -odbc +ldap +berkdb -freetds -firebird +pam +spell

$ emerge -p -v postgresql
[ebuild   R  ] dev-db/postgresql-7.3.2  +ssl -nls -java +python -tcltk +perl +libg++ +pam +readline +zlib
Comment 3 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-05-01 15:52:49 UTC
creating a symlink between libpq.so.3 and libpq.so.2 might appear to solve the problem, but it causes problems long term.

Could you remove the symlink, and then run this:
-- CUT HERE --
L="/lib /usr/lib /usr/*/lib /usr/*/*/lib"
find $L -name '*.so.*' -print -xtype f 2>/dev/null | xargs ldd |egrep '^[^[:space:]]|libpq|libmysql' | egrep 'mysql|pq' -C4 
-- CUT HERE --
direct the results to a file and attach them here please.

I suspect you still have some old application that was linked to libpq.2.so that has not been recompiled since you upgraded.
Comment 4 Dries Buytaert 2003-05-01 16:43:02 UTC
/usr/lib/libmng.so.1.0.0:
/usr/lib/libmng.so.1:
/usr/lib/libaspell.so.15:
/usr/lib/libecpg.so.3:
        libpq.so.3 => /usr/lib/libpq.so.3 (0x4000b000)
/usr/lib/libsmbclient.so.0:
/usr/lib/libmysqlclient.so.10.0.0:
/usr/lib/libmysqlclient_r.so.10.0.0:
/usr/lib/libmysqlclient.so.10:
/usr/lib/libmysqlclient_r.so.10:
/usr/lib/libasound.so.2.0.0:
/usr/lib/libasound.so.2:
/usr/lib/libasound.so.1:
/usr/lib/libaudiofile.so.0.0.2:
--
/usr/lib/libgmodule-2.0.so.0:
/usr/lib/libgthread-2.0.so.0.200.0:
/usr/lib/libgthread-2.0.so.0:
/usr/lib/libxmltok.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4003c000)
/usr/lib/libxmltok.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4003c000)
/usr/lib/libxmlparse.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002b000)
/usr/lib/libxmlparse.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002b000)
/usr/lib/libmd5.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40025000)
/usr/lib/libmd5.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40025000)
/usr/lib/libwwwssl.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40028000)
/usr/lib/libwwwssl.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40028000)
/usr/lib/libwwwutils.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40029000)
/usr/lib/libwwwutils.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40029000)
/usr/lib/libwwwcore.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4004b000)
/usr/lib/libwwwcore.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4004b000)
/usr/lib/libwwwtrans.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40028000)
/usr/lib/libwwwtrans.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40028000)
/usr/lib/libwwwstream.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40029000)
/usr/lib/libwwwstream.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40029000)
/usr/lib/libwwwcache.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002c000)
/usr/lib/libwwwcache.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002c000)
/usr/lib/libwwwdir.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40028000)
/usr/lib/libwwwdir.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40028000)
/usr/lib/libwwwfile.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002c000)
/usr/lib/libwwwfile.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002c000)
/usr/lib/libwwwftp.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002b000)
/usr/lib/libwwwftp.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002b000)
/usr/lib/libwwwgopher.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40027000)
/usr/lib/libwwwgopher.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40027000)
/usr/lib/libwwwmime.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002c000)
/usr/lib/libwwwmime.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002c000)
/usr/lib/libwwwhttp.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40035000)
/usr/lib/libwwwhttp.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40035000)
/usr/lib/libwwwnews.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002a000)
/usr/lib/libwwwnews.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002a000)
/usr/lib/libwwwtelnet.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40025000)
/usr/lib/libwwwtelnet.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40025000)
/usr/lib/libwwwhtml.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002f000)
/usr/lib/libwwwhtml.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002f000)
/usr/lib/libwwwapp.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40037000)
/usr/lib/libwwwapp.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40037000)
/usr/lib/libwwwinit.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40025000)
/usr/lib/libwwwinit.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40025000)
/usr/lib/libwwwmux.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40026000)
/usr/lib/libwwwmux.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40026000)
/usr/lib/libwwwxml.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002d000)
/usr/lib/libwwwxml.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x4002d000)
/usr/lib/libwwwzip.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40025000)
/usr/lib/libwwwzip.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40025000)
/usr/lib/libwwwsql.so.0.1.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40027000)
/usr/lib/libwwwsql.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40027000)
/usr/lib/libpics.so.0.0.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40037000)
/usr/lib/libpics.so.0:
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40037000)
/usr/lib/libglut.so.3.7.1:
/usr/lib/libglut.so.3:
/usr/lib/libpopt.so.0.0.0:
/usr/lib/libpopt.so.0:
--
/usr/lib/libgdk_pixbuf_xlib-2.0.so.0.200.1:
/usr/lib/libgdk_pixbuf_xlib-2.0.so.0:
/usr/lib/libcurl.so.2.0.2:
/usr/lib/libcurl.so.2:
/usr/lib/libpq.so.3.0:
/usr/lib/libecpg.so.3.4.1:
        libpq.so.3 => /usr/lib/libpq.so.3 (0x4000b000)
/usr/lib/libpq.so.3:
/usr/lib/libaspell.so.15.0.2:
/usr/lib/libpspell.so.15.0.2:
/usr/lib/libpspell.so.15:
/usr/lib/libc.so.5:
Comment 5 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-05-01 16:50:36 UTC
Can you turn on portage logging in make.conf and emerge mod_php again, and send me the log please?
Comment 6 Dries Buytaert 2003-05-02 05:18:53 UTC
I did so but the log file (/var/log/portage/418-php-4.3.1.log), while newly created, is empty.  Ditto for mod_php (/var/log/portage/423-mod_php-4.3.1.log).

IMPORTANT: recompiling 'mod_php' rather then 'php' seems to have fixed the problem.  Looks like upgrading PostgreSQL does not invalidate/recompile mod_php ... (?)
Comment 7 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-05-19 21:53:22 UTC
When you hit the problem, please get /var/tmp/portage/{mod_php,php}*/work/php*/config.log and attach them to this bug.

Additionally, please try to emerge gentoolkit and run revdep-rebuild.
Comment 8 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-06-26 11:53:34 UTC
Any update on this?
Comment 9 Alexander Holler 2003-07-08 05:18:53 UTC
I've just had the same. Wondered why apache doesn't start after an reboot. This is bad, because I updated postgres a week ago, but haven't restarted apache since them.
Comment 10 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-08-11 02:09:35 UTC
No response from user, closing bug.
Comment 11 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-09-26 17:09:25 UTC
closing old bugs.
Comment 12 Stuart Herbert (RETIRED) gentoo-dev 2004-03-29 11:11:50 UTC
Old bug, marking as closed.