|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2002-09-09 08:05 UTC] pitrou at free dot fr
Hello,
I've tried to upgrade from 4.0.6 to 4.2.3, both versions
compiled from source. Although I've used the same options
for 4.2.3 as for 4.0.6, when I try to restart Apache I
have an error message. It seems it doesn't link to the
needed extension libs.
# apachectl configtest
Syntax error on line 182 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libphp4.so into server: /usr/local/apache/libexec/libphp4.so: undefined symbol: gdImagePngCtx
Here is the configure command :
./configure --with-apxs \
--with-mysql=/usr/local \
--with-bz2 \
--with-zlib \
--with-gd \
If I remove --with-gd, I have a similar error message :
# apachectl configtest
Syntax error on line 182 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libphp4.so into server: /usr/local/apache/libexec/libphp4.so: undefined symbol: uncompress
So it is not a problem with GD but rather with the way
PHP loads extensions. Is there anything I overlooked in
the build/configuration process ? Or is it really a bug ?
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 06:00:02 2025 UTC |
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 ?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.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.