php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #19142 cannot load libphp4.so: undefined symbol: core_globals
Submitted: 2002-08-28 06:17 UTC Modified: 2002-09-05 02:41 UTC
From: red at tripany dot com Assigned:
Status: Closed Package: Apache related
PHP Version: 4.2.2 OS: Debian 2.2
Private report: No CVE-ID: None
 [2002-08-28 06:17 UTC] red at tripany dot com
Apache 1.3.26 is compiled and made as such:

./configure --prefix=/opt/httpd-1.3.26 --enable-module=expires --enable-module=so --enable-module=auth_digest --enable-module=info --enable-module=log_referer --enable-module=rewrite --enable-module=vhost_alias

no errors during compile

Php is compiled and made as such:

./configure --prefix=/opt/php-4.2.2 --with-apxs=/opt/httpd-1.3.26/bin/apxs --with-libdir=/usr/lib --with-gd --with-gettext --enable-safe-mofe --with-config-file-path=/opt/httpd/conf --with-exec-dir=/usr/bin --with-tiff-dir=/usr/lib --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-zlib-dir=/usr/lib --enable-magic-quotes --with-regex=system --with-db --with-gdbm --enable-mbstring --enable-mbstr-enc-trans --enable-track-vars --enable-wddx=shared --enable-mm=shared --enable-xml --enable-ftp --enable-debug --with-ldap --with-mysql

no errors

doing a
/opt/httpd-1.3.26/bin/apachectl configtest
gives
Syntax error on line 235 of /opt/httpd-1.3.26/conf/httpd.conf:
Cannot load /opt/httpd-1.3.26/libexec/libphp4.so into server: /opt/httpd-1.3.26/libexec/libphp4.so: undefined symbol: core_globals

and line 235 of httpd.conf is

LoadModule php4_module        libexec/libphp4.so

Cheers
Robin

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-08-28 12:37 UTC] kalowsky@php.net
does this happen when just defining --with-apxs in the configure script?
 [2002-08-28 13:06 UTC] sniper@php.net
1. You use wrong paths (/usr/lib won't work for e.g. --with-zlib-di)
2. --enable-wddx=shared won't work (should be fixed in CVS though)
3. --enable-mm=shared won't work (should be fixed in CVS)
4. Using --with-regex=system will cause some problems with some functions. Just leave that out.

So fix the paths, remove those '=shared' from above mentioned options and it will work.

 [2002-08-28 13:07 UTC] sniper@php.net
Nevermind the --enable-wddx=shared part..it should work.

 [2002-08-30 08:32 UTC] red at tripany dot com
My new configure line is:

./configure --prefix=/opt/php-4.2.2 --with-apxs=/opt/httpd-1.3.26/bin/apxs --with-gd --with-gettext --enable-safe-mofe --with-config-file-path=/opt/httpd/conf --with-exec-dir=/usr/bin --with-tiff-dir=/usr/lib --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-zlib --enable-magic-quotes --with-db --with-gdbm --enable-mbstring --enable-mbstr-enc-trans --enable-track-vars --enable-wddx=shared --enable-mm --enable-xml --enable-ftp --enable-debug --with-ldap --with-mysql

And it's still giving the same error.
Unfortunately, I can't do without the location of apxs, because it then gives me:
configure: error: Use --with-apxs2 with Apache 2.x!

As I'm running Apache 2.0.40 in /opt/httpd-2.0.40/ (which I guess it's finding first). I don't really want apache to go down before I know this version is working...

Finally, if I /do/ get rid of the shared statement from wddx=shared, it gives me a new error:

Cannot load /opt/httpd-1.3.26/libexec/libphp4.so into server: /opt/httpd-1.3.26/libexec/libphp4.so: undefined symbol: ps_globals

Still no errors at any stage during compile

Cheers
R
 [2002-08-30 10:15 UTC] sniper@php.net
You're really doing something wrong. This works just fine
for me and couple of hundred other people out there.. :)

Try with _clean_ sources. And with the proposed CORRECT paths..you still used /usr/lib where it should be /usr..

 [2002-09-04 19:14 UTC] cmwade1 at attbi dot com
I have a simpler case:

Compiling on Red Hat 7.2...
Apache 1.3.26 is compiled like:

./configure --prefix=/usr/local/apache \
--enable-module=rewrite --enable-shared=rewrite \
--enable-module=proxy --enable-shared=proxy

no errors, apache compiles and runs fine like this.

php is compiled with:

./configure --with-mysql \
--with-apxs=/usr/local/apache/bin/apxs

no errors during configure, make or install.

However, when I go to start apache again, I get:

Syntax error on line 207 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libphp4.so into server: /usr/local/apache/libexec/libphp4.so: undefined symbol: core_globals
bin/apachectl start: httpd could not be started

line 207 is, of course:
LoadModule php4_module        libexec/libphp4.so
 [2002-09-05 02:41 UTC] red at tripany dot com
I found I had a /usr/sbin/apxs from an earlier (debian) install, and I also had /opt/httpd-2.0.40/bin/apxs. So if I installed using --with-apxs=/opt/httpd-1.3.26/bin/apxs it wouldn't work, and just using --with-apxs, it would find one of the other apxs files first. So I had to delete the /opt/httpd-2.0.40 dir AND the /usr/sbin/apxs, then ln -s /usr/sbin/apxs /opt/httpd-2.0.40/bin/apxs, so I could install using just the --with-apxs switch. 
THEN it worked!
Cheers Kalowsky :)
Grtz
Robin
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Mar 28 09:01:26 2024 UTC