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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: Michel dot Gaudet at ehess dot fr
New email:
PHP Version: OS:

 

 [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 12:00:01 2026 UTC