ID:               28077
 User updated by:  mathieu dot carbonneaux at ch2o dot info
 Reported By:      mathieu dot carbonneaux at ch2o dot info
-Status:           Open
+Status:           Closed
 Bug Type:         Apache2 related
 Operating System: HP-UX 11i
 PHP Version:      4.3.6
 New Comment:

i fact after many test and debuging...

ldd -d dont resolv some symbol but this can be resolved at run time...
this symbol is the symbole who apache can't resolv...

have added BIND_VERBOSE in shl_load of apache to see more information
on shl_load probleme....

and apache say to me they can resolve __umoddi3!

i searched where this symbole are... and i found they are in
libgcc.a....

on HP-UX the pre-compiled GCC(3.3.2 of HP-UX porting center) not link
systematicly libgcc....

to compile php apache module you are oblige to add --enable-libgcc,
without that does not work...

my php compil options on hp-ux 11.11 with gcc 3.3.2 32Bits:

export LDFLAGS="-lcl"
export CFLAGS="-DHAVE_SOCKLEN_T -D_HPUX_SOURCE -D_XOPEN_SOURCE_EXTENDED
-D_LABEL_T"
export CPPFLAGS="-DHAVE_SOCKLEN_T -D_HPUX_SOURCE
-D_XOPEN_SOURCE_EXTENDED -D_LABEL_T"

gmake distclean
./configure  --prefix=/usr/local/php4  \
             --with-apxs2=/usr/local/apache2/bin/apxs \
             --enable-libgcc 


and apache 2 option:

export LDFLAGS="-lcl"
export CFLAGS="-DHAVE_SOCKLEN_T -D_HPUX_SOURCE -D_XOPEN_SOURCE_EXTENDED
-D_LABEL_T"
export CPPFLAGS="-DHAVE_SOCKLEN_T -D_HPUX_SOURCE
-D_XOPEN_SOURCE_EXTENDED -D_LABEL_T"

make distclean
./configure  --prefix=/usr/local/apache2 \
             --with-mpm=prefork \
             --enable-mods-shared=all \
             --enable-deflate=shared \
             --enable-ext-filter=shared \
             --enable-headers=shared \
             --enable-info=shared \
             --enable-proxy=shared \
             --enable-proxy-http=shared \
             --enable-rewrite=shared \
             --enable-vhost-alias=shared  \
             --disable-auth-digest

make && make install

with that options, work fine!


Previous Comments:
------------------------------------------------------------------------

[2004-04-20 13:25:11] mathieu dot carbonneaux at ch2o dot info

Description:
------------
have compile apache2, and i tested it separatly...is ok

after have compiled php without probleme... 
the php module has been correctly installed in dir of apache 
and the apache conf have been correctly modify...

but... when i try to start apache with php module(they work fine with
integrated apache module!), 
they can load php module...

when i verify with ldd -d have this result:
        /usr/lib/libc.2 =>      /usr/lib/libc.2
        /usr/lib/libdld.2 =>    /usr/lib/libdld.2
        /usr/lib/libc.2 =>      /usr/lib/libc.2
        /usr/local/lib/libintl.sl =>    /usr/local/lib/libintl.sl
        /usr/lib/libc.2 =>      /usr/lib/libc.2
        /usr/local/lib/libiconv.sl =>   /usr/local/lib/libiconv.sl
        /usr/lib/libc.2 =>      /usr/lib/libc.2
        /usr/local/lib/libxml2.sl =>    /usr/local/lib/libxml2.sl
        /usr/lib/libc.2 =>      /usr/lib/libc.2
        /usr/local/lib/libintl.sl =>    /usr/local/lib/libintl.sl
        /usr/lib/libm.2 =>      /usr/lib/libm.2
        /usr/local/lib/libz.sl =>       /usr/local/lib/libz.sl
        /usr/lib/libpthread.1 =>        /usr/lib/libpthread.1
        /usr/lib/libm.2 =>      /usr/lib/libm.2
        /usr/local/lib/libbz2.sl =>     /usr/local/lib/libbz2.sl
        /usr/local/lib/libdb.sl =>      /usr/local/lib/libdb.sl
        /usr/lib/libc.2 =>      /usr/lib/libc.2
        /usr/local/lib/libxslt.sl =>    /usr/local/lib/libxslt.sl
        /usr/lib/libc.2 =>      /usr/lib/libc.2
        /usr/lib/libm.2 =>      /usr/lib/libm.2
        /usr/local/lib/libintl.sl =>    /usr/local/lib/libintl.sl
        /usr/lib/libpthread.1 =>        /usr/lib/libpthread.1
        /usr/local/lib/libz.sl =>       /usr/local/lib/libz.sl
        /usr/local/lib/libxml2.sl =>    /usr/local/lib/libxml2.sl
        /usr/local/lib/libxsltbreakpoint.sl => 
/usr/local/lib/libxsltbreakpoint.sl
        /usr/lib/libc.2 =>      /usr/lib/libc.2
        /usr/local/lib/libjpeg.sl =>    /usr/local/lib/libjpeg.sl
        /usr/local/lib/libz.sl =>       /usr/local/lib/libz.sl
        /usr/local/lib/libpng.sl =>     /usr/local/lib/libpng.sl
        /usr/local/lib/X11/libXpm.sl => /usr/local/lib/X11/libXpm.sl
        /usr/lib/libX11.3 =>    /usr/lib/libX11.3
        /usr/local/lib/libt1.sl =>      /usr/local/lib/libt1.sl
        /usr/local/lib/libgd.sl =>      /usr/local/lib/libgd.sl
        /usr/lib/libc.2 =>      /usr/lib/libc.2
        /usr/local/lib/libiconv.sl =>   /usr/local/lib/libiconv.sl
        /usr/lib/libm.2 =>      /usr/lib/libm.2
        /usr/local/lib/libz.sl =>       /usr/local/lib/libz.sl
        /usr/local/lib/libpng.sl =>     /usr/local/lib/libpng.sl
        /usr/local/lib/libfreetype.sl =>       
/usr/local/lib/libfreetype.sl
        /usr/lib/libc.2 =>      /usr/lib/libc.2
        /usr/local/lib/libjpeg.sl =>    /usr/local/lib/libjpeg.sl
        /usr/lib/libX11.3 =>    /usr/lib/libX11.3
        /usr/local/lib/X11/libXpm.sl => /usr/local/lib/libXpm.sl
        /usr/lib/libdld.2 =>    /usr/lib/libdld.2
        /usr/lib/libpthread.1 =>        /usr/lib/libpthread.1
        /usr/local/lib/libexpat.sl =>   /usr/local/lib/libexpat.sl
        /usr/lib/libc.2 =>      /usr/lib/libc.2
        /usr/local/apache2/lib/libaprutil-0.sl.9 =>    
/usr/local/apache2/lib/libaprutil-0.sl.9
        /usr/lib/libc.2 =>      /usr/lib/libc.2
        /usr/local/apache2/lib/libapr-0.sl.9 =>
/usr/local/apache2/lib/libapr-0.sl.9
        /usr/lib/libc.2 =>      /usr/lib/libc.2
        /usr/lib/libdld.2 =>    /usr/lib/libdld.2
        /usr/lib/libpthread.1 =>        /usr/lib/libpthread.1
        /usr/lib/libnsl.1 =>    /usr/lib/libnsl.1
        /usr/lib/libxti.2 =>    /usr/lib/libxti.2
        /usr/lib/libm.2 =>      /usr/lib/libm.2
        /usr/lib/libcl.2 =>     /usr/lib/libcl.2
        /usr/lib/libisamstub.1 =>       /usr/lib/libisamstub.1
        /usr/lib/libdld.2 =>    /usr/lib/libdld.2
        symbol not found: _SYSTEM_ID    (/usr/lib/libc.2)
        symbol not found: _end  (/usr/lib/libc.2)
        symbol not found: __dld_loc     (/usr/lib/libdld.2)
        symbol not found: ap_loaded_modules    
(/usr/local/apache2/modules/libphp4.so)
        symbol not found: unixd_config 
(/usr/local/apache2/modules/libphp4.so)
        symbol not found: ap_server_root       
(/usr/local/apache2/modules/libphp4.so)
        symbol not found: _SYSTEM_ID    (/usr/lib/libcl.2)
        symbol not found: __dld_loc     (/usr/lib/libcl.2)

some symbole can be resolve....

have searched this symbole....

and i have found this symbol in httpd binary

#nm httpd | grep ap_server_root
ap_hack_ap_server_root_relative|1073780904|extern|data   |$DATA$
ap_server_root      |1073757188|extern|data   |$DATA$
ap_server_root_relative|    303164|extern|entry  |
ap_server_root_relative|    303216|extern|code   |$CODE$

#nm ./.libs/httpd | grep ap_loaded_modules
ap_loaded_modules   |1073757324|extern|data   |$DATA$

#nm ./.libs/httpd | grep unixd_config
unixd_config        |1073807808|undef |common |$BSS$

seem to be correctly exported by httpd....but unixd_config is
undef...!!???

and the other symbol in hp-ux library....
but before i have a same probleme with other module(mod_auth_ldap from
musquit), but only with the symbole _SYSTEM_ID, _end and __dld_loc, and
have found how to correct this in using "export
LD_PRELOAD=/usr/bin/libcl.sl" or in adding CFLAGS="-lcl" in hp-ux
support
site...
but with php they dont work....

i think globale visibility probleme between httpd and loaded librairy
(libphp4.so).

i think that dyn lib can't acces to global export of the binary who
have loaded the library.

have you any idea to correct this!!!!?

how to remplace the use of apache global whith apr like fonction???!!!

Best Regards,
Mathieu



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=28077&edit=1

Reply via email to