|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2000-10-18 07:50 UTC] Michel dot Gaudet at ehess dot fr
At the final link of apache1.3.14 with php-4.0.3pl1 in STATIC MODE :.
Flags of onfigure of : php-4.0.3pl1
--with-mysql=/opt/mysql --with-apache=../apache_1.3.14 --enable-track-vars --prefix=/local2/apache
Then In php_config.h (for later explanations) :
...
/* #undef HAVE_LIBDL */
...
Flags of configure of apache_1.3.14 :
--with-layout=Apache
--prefix=/local2/apache
--activate-module=src/modules/php4/libphp4.a
at the link stage of apache_1.3.14
gcc -DHPUX10 -I/users3/gaudet.temuco/local2/src/php-4.0.3pl1
-I/users3/gaudet.temuco/local2/src/php-4.0.3pl1/main
-I/users3/gaudet.temuco/local2/src/php-4.0.3pl1/main
-I/users3/gaudet.temuco/local2/src/php-4.0.3pl1/Zend
-I/users3/gaudet.temuco/local2/src/php-4.0.3pl1/Zend
-I/users3/gaudet.temuco/local2/src/php-4.0.3pl1/TSRM
-I/users3/gaudet.temuco/local2/src/php-4.0.3pl1/TSRM
-I/users3/gaudet.temuco/local2/src/php-4.0.3pl1 -DUSE_EXPAT
-I./lib/expat-lite -DNO_DL_NEEDED `./apaci` \
-o httpd buildmark.o modules.o modules/php4/libphp4.a
modules/standard/libstandard.a main/libmain.a ./os/unix/libos.a ap/libap.a
lib/expat-lite/libexpat.a -L/opt/mysql/lib -L/opt/mysql/lib
-Lmodules/php4 -L../modules/php4 -L../../modules/php4 -lmodphp4
-lmysqlclient -lm -lcrypt
collect2: ld returned 1 exit status
/usr/ccs/bin/ld: Unsatisfied symbols:
DL_UNLOAD (code)
make[2]: *** [target_static] Error 1
make[2]: Leaving directory `/users3/gaudet.temuco/local2/src/apache_1.3.14/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/users3/gaudet.temuco/local2/src/apache_1.3.14'
make: *** [build] Error 2
Some investigations show that the symbol is a MACRO defined in the file zend.h of Zend directory of php4 distrib.
in the file zend.h the define DL_UNLOAD is protected by a
if defined(HAVE_LIBDL)
THEN normaly IT IS NOT DEFINED (see before).
but if i pass through the preprocessor the file zend_extension.c which contain the macro DL_UNLOAD, the symbol DL_UNLOAD remain.
Is it a problem with the HP config or a bug ?
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2026 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 10 11:00:01 2026 UTC |
This is due to an error in the zend_extensions.c file in the Zend directory. The call to DL_UNLOAD should be protected by a macro that ensures it exists. This is fixed in CVS, but to fix your copy, the change is very easy. Just edit zend_extensions.c and look for static void zend_extension_startup (line 142) and change it to look like: <pre> static void zend_extension_startup(zend_extension *extension) { #if ZEND_EXTENSIONS_SUPPORT if (extension->startup) { if (extension->startup(extension)!=SUCCESS) { DL_UNLOAD(extension->handle); } } #endif } </pre> Note the addition of the #preprocessor line.