php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #7308 Error of link of apache 1.3.14 with an UNSATISFIED SYMBOLS.
Submitted: 2000-10-18 07:50 UTC Modified: 2000-10-18 08:35 UTC
From: Michel dot Gaudet at ehess dot fr Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.0.3pl1 OS: HP-UX 10.20
Private report: No CVE-ID: None
 [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 ?





Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-10-18 08:33 UTC] jimjag@php.net
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. 
 [2000-10-18 08:35 UTC] jimjag@php.net
PS: Ignore the <pre>...</pre> tags :) Just add the

#if ZEND_EXTENSIONS_SUPPORT
.
.
.
#endif

lines as indicated (thought I was on /. :) )
 
PHP Copyright © 2001-2026 The PHP Group
All rights reserved.
Last updated: Sat Oct 10 15:00:01 2026 UTC