#19314 [Fbk->Opn]: unable to startup Apache (undefined symbol)
| From: | pitrou at free dot fr | Date: | Tue, 10 Sep 2002 09:57:58 +0000 |
| Subject: | #19314 [Fbk->Opn]: unable to startup Apache (undefined symbol) | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-18906@lists.php.net to get a copy of this message | ||
ID: 19314
User updated by: pitrou@free.fr
Reported By: pitrou@free.fr
-Status: Feedback
+Status: Open
Bug Type: Apache related
Operating System: Linux 2.4.19
PHP Version: 4.2.3
New Comment:
Hi,
With the latest snapshot : first build is ok.
# ldd .libs/libphp4.so
libmysqlclient.so.10 =>
/usr/local/lib/mysql/libmysqlclient.so.10 (0x40179000)
libgd.so.1.8 => /usr/lib/libgd.so.1.8 (0x401a0000)
libbz2.so.1 => /usr/lib/libbz2.so.1 (0x401d3000)
libz.so.1 => /usr/lib/libz.so.1 (0x401e3000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x401f2000)
libresolv.so.2 => /lib/libresolv.so.2 (0x4021f000)
libm.so.6 => /lib/libm.so.6 (0x40231000)
libdl.so.2 => /lib/libdl.so.2 (0x40253000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40257000)
libc.so.6 => /lib/libc.so.6 (0x4026e000)
libttf.so.2 => /usr/lib/libttf.so.2 (0x403a4000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x403ce000)
libpng.so.2 => /usr/lib/libpng.so.2 (0x403ed000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
There are errors during make install (PEAR installation
fails with "open_basedir restriction" errors), but not
related to the bug.
If I try 'make clean' and then reconfigure without gd,
the build seems ok too :
# 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)
Regards
Antoine.
Previous Comments:
------------------------------------------------------------------------
[2002-09-09 17:00:43] sniper@php.net
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.
------------------------------------------------------------------------
[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)
------------------------------------------------------------------------
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