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