#19314 [Opn->Fbk]: unable to startup Apache (undefined symbol)

From: Date: Mon, 09 Sep 2002 22:00:43 +0000
Subject: #19314 [Opn->Fbk]: unable to startup Apache (undefined symbol)
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-18862@lists.php.net to get a copy of this message
ID: 19314 Updated by: sniper@php.net Reported By: pitrou@free.fr -Status: Open +Status: Feedback Bug Type: Apache related Operating System: Linux 2.4.19 PHP Version: 4.2.3 New Comment: Please try using this CVS snapshot: http://snaps.php.net/php4-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-latest.zip I'm pretty sure this is fixed in CVS..so please try the snapshot. Previous Comments: ------------------------------------------------------------------------ [2002-09-09 16:40:16] pitrou@free.fr "How would it know? It's just looking for libs and include files, and the first it finds is the first it uses. Marking as bogus since this is/was a user issue." Please re-read the whole thing before coming to such conclusions... There are two problems here : - At one time, libphp4.so was created with no libraries linked to, yet no warning nor error told about it during the build process. Silent error ?! That's not a good behaviour as it's quite obvious that libphp4.so won't work without anything linked to, so why didn't the build process emit an error ? And why at first didn't it link against the proper libraries (even the most basic ones, see : only ldlinux and libc are referenced) ?? - Even more, the only reason I have installed GD 2.0 on top of GD 1.8.3 is because *it first failed with GD 1.8.3*. Which means I got the "undefined symbol" even at first when I tried with the right GD version. Which is definitely not a right behaviour either. The "undefined symbol" belonging to GD, I thought PHP's requirements for GD were higher now, so took the latest version. The thing is there seems to be some borderline cases when the configure/build procedure does wrong things without telling the users. It's quite boring spending some hours chasing this kind of things (and I probably would have given up anyway if I hadn't got any help here), which should be fixed at first in PHP. PHP 4.0.6 didn't have these annoyances, so there _is_ something borked here. ------------------------------------------------------------------------ [2002-09-09 14:55:06] kalowsky@php.net How would it know? It's just looking for libs and include files, and the first it finds is the first it uses. Marking as bogus since this is/was a user issue. ------------------------------------------------------------------------ [2002-09-09 11:42:11] pitrou@free.fr Indeed ;) # ldd .libs/libphp4.so libdl.so.2 => /lib/libdl.so.2 (0x4011c000) libpam.so.0 => /lib/libpam.so.0 (0x40120000) libmysqlclient.so.10 => /usr/local/lib/mysql/libmysqlclient.so.10 (0x40128000) libbz2.so.1 => /usr/lib/libbz2.so.1 (0x40144000) libz.so.1 => /usr/lib/libz.so.1 (0x40155000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x40163000) libresolv.so.2 => /lib/libresolv.so.2 (0x40190000) libm.so.6 => /lib/libm.so.6 (0x401a2000) libnsl.so.1 => /lib/libnsl.so.1 (0x401c4000) libc.so.6 => /lib/libc.so.6 (0x401db000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) Then if I re-start from clean sources and --with-gd, I get configure errors due to conflicting versions of gd. I correct the libgd.so symlink to the old version (1.8.3) and restart configure, compile and install, and everything is fine :-) Question : why didn't the PHP build/compile process tell me first of the error instead of letting me in such a hairy mess ? Thank you for your help. ------------------------------------------------------------------------ [2002-09-09 11:23:52] sniper@php.net What is the result of the ldd if you leave out --with-gd ? (and do this with clean sources) ------------------------------------------------------------------------ [2002-09-09 11:04:30] pitrou@free.fr Indeed you've hit the problem. # ldd php-4.0.6/.libs/libphp4.so libpam.so.0 => /lib/libpam.so.0 (0x4011c000) libdl.so.2 => /lib/libdl.so.2 (0x40124000) libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x40128000) libz.so.1 => /usr/lib/libz.so.1 (0x40159000) libgd.so.1.8 => /usr/lib/libgd.so.1.8 (0x40168000) libbz2.so.1 => /usr/lib/libbz2.so.1 (0x4019b000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x401ab000) libresolv.so.2 => /lib/libresolv.so.2 (0x401d8000) libm.so.6 => /lib/libm.so.6 (0x401ea000) libnsl.so.1 => /lib/libnsl.so.1 (0x4020c000) libc.so.6 => /lib/libc.so.6 (0x40224000) libttf.so.2 => /usr/lib/libttf.so.2 (0x40359000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40383000) libpng.so.2 => /usr/lib/libpng.so.2 (0x403a2000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) # ldd php-4.2.3/.libs/libphp4.so libc.so.6 => /lib/libc.so.6 (0x40127000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) It seems 4.2.3 doesn't link against anything.... Why ? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/19314 -- Edit this bug report at http://bugs.php.net/?id=19314&edit=1

« previous php.bugs (#18862) next »