|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2004-04-20 13:25 UTC] 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
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 05:00:01 2025 UTC |
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!