ID: 41102
Updated by: [EMAIL PROTECTED]
Reported By: nobody at example dot org
-Status: Open
+Status: Feedback
Bug Type: *Compile Issues
Operating System: Linux
PHP Version: 5.2.2RC1
New Comment:
>Tarballs verified to compile successfully on a desktop machine
> running another (more up-to-date) distro.
Does this mean the same PHP works fine on another machine?
What do you mean by more up-to-date distro and what distro is that?
Previous Comments:
------------------------------------------------------------------------
[2007-04-16 17:48:04] nobody at example dot org
aclocal (GNU automake) 1.8.5
gcc version 3.3.4
GNU ld version 2.15.90.0.3
Apache (1.3 dev snapshot)
PHP-5.2.2RC1
Tarballs verified to compile successfully on a desktop machine running
another (more up-to-date) distro.
cd src/apache-1.3
./configure --prefix=/srv/www
cd ../php-5.2.2RC1
./configure --disable-cgi --disable-ipv6 --disable-short-tags \
--with-apache=../apache-1.3 --with-gnu-ld --with-zend-vm=GOTO
make
su
make install
exit
cd ../apache-1.3
./configure --activate-module=src/modules/php5/libphp5.a \
--enable-module=rewrite --prefix=/srv/www
make
...
===> src/modules/php5
gcc -c -I../../os/unix -I../../include -DLINUX=22
-DHAVE_SET_DUMPABLE -DNO_DBM_REWRITEMAP -DUSE_HSREGEX -DNO_DL_NEEDED -O2
-fomit-frame-pointer -pipe `../../apaci` mod_php5.c
mod_php5.c:22:29: php_apache_http.h: No such file or directory
In file included from mod_php5.c:23:
../../include/http_conf_globals.h:28: error: syntax error before "int"
../../include/http_conf_globals.h:29: error: syntax error before "int"
[Many errors as you can imagine]
src/modules/php5/Makefile doesn't contain paths and lib info from
src/modules/php5/libphp5.module
I Manually insert PHP_CFLAGS and PHP_LIBS from that file in to the
Makefile. Then resume
make
===> src
make[1]: Entering directory `/home/build/apache-1.3'
make[2]: Entering directory `/home/build/apache-1.3/src'
===> src/regex
make[3]: Nothing to be done for `all'.
<=== src/regex
===> src/os/unix
make[3]: Nothing to be done for `all'.
<=== src/os/unix
===> src/ap
make[3]: Nothing to be done for `all'.
<=== src/ap
===> src/main
make[3]: Nothing to be done for `all'.
<=== src/main
===> src/lib
<=== src/lib
===> src/modules
===> src/modules/standard
make[4]: Nothing to be done for `all'.
<=== src/modules/standard
===> src/modules/php5
gcc -c -I../../os/unix -I../../include -DLINUX=22
-DHAVE_SET_DUMPABLE -DNO_DBM_REWRITEMAP -DUSE_HSREGEX -DNO_DL_NEEDED -O2
-fomit-frame-pointer -pipe `../../apaci` -I/home/build/php-5.2.2RC1/main
-I/home/build/php-5.2.2RC1/Zend -I/home/build/php-5.2.2RC1/TSRM
-I/home/build/php-5.2.2RC1 -I/home/build/php-5.2.2RC1/sapi/apache
-I/home/build/php-5.2.2RC1/main -I/home/build/php-5.2.2RC1/Zend
-I/home/build/php-5.2.2RC1/TSRM mod_php5.c
cp libmodphp5.a libphp5.
ar r libphp5. mod_php5.o
ranlib libphp5.
cp libphp5. libphp5.a
<=== src/modules/php5
<=== src/modules
gcc -c -I./os/unix -I./include -DLINUX=22 -DHAVE_SET_DUMPABLE
-DNO_DBM_REWRITEMAP -DUSE_HSREGEX -DNO_DL_NEEDED -O2
-fomit-frame-pointer -pipe `./apaci` modules.c
gcc -c -I./os/unix -I./include -DLINUX=22 -DHAVE_SET_DUMPABLE
-DNO_DBM_REWRITEMAP -DUSE_HSREGEX -DNO_DL_NEEDED -O2
-fomit-frame-pointer -pipe `./apaci` buildmark.c
gcc -DLINUX=22 -DHAVE_SET_DUMPABLE -DNO_DBM_REWRITEMAP -DUSE_HSREGEX
-DNO_DL_NEEDED -O2 -fomit-frame-pointer -pipe `./apaci` \
-o httpd buildmark.o modules.o modules/standard/libstandard.a
modules/php5/libphp5.a main/libmain.a ./os/unix/libos.a ap/libap.a
regex/libregex.a -lm -lcrypt -lexpat
modules.o(.data+0x44): undefined reference to `php5a_module'
modules.o(.data+0xa4): undefined reference to `php5a_module'
collect2: ld returned 1 exit status
make[2]: *** [target_static] Error 1
make[2]: Leaving directory `/home/build/apache-1.3/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/home/build/apache-1.3'
make: *** [build] Error 2
------------------------------------------------------------------------
[2007-04-16 16:58:20] [EMAIL PROTECTED]
What EXACTLY are you doing and what do I need to do in order to
reproduce it?
Please describe all the steps.
------------------------------------------------------------------------
[2007-04-16 16:50:46] nobody at example dot org
> Great, but I apparently don't have your machine so I need to
> know how to reproduce it on my machine.
++Great
If I knew enough about the PHP & Apache build processes to tell you
that, surely I'd be contributing a patch instead of filing a bug report?
AFAIK, the Apache build process has not changed and the PHP cli
installs without error. (related?) problems occur only when compiling
Apache with PHP as a static module.
Problem #1
The info in libphp5.module is not being transferred to the generated
$APACHE/src/modules/php5/Makefile although the file libphp5.module is
present in that dir. I've verified these exact tarballs build a static
PHP module on another system without error (as previously noted) and was
able to manually edit the Makefile.
Problem #2
After manually editing the Makefile, Apache build still fails with this
linker error:
modules.o(.data+0x44): undefined reference to `php5a_module'
modules.o(.data+0xa4): undefined reference to `php5a_module'
collect2: ld returned 1 exit status
make[2]: *** [target_static] Error 1
make[2]: Leaving directory `/home/build/src/apache-1.3/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/home/build/src/apache-1.3'
make: *** [build] Error 2
------------------------------------------------------------------------
[2007-04-16 14:48:45] [EMAIL PROTECTED]
>It is on the machine I'm attempting to build on
Great, but I apparently don't have your machine so I need to know how
to reproduce it on my machine.
------------------------------------------------------------------------
[2007-04-16 14:04:52] nobody at example dot org
> Not reproducible.
It is on the machine I'm attempting to build on - running Slackware
10.0.
The same machine built a PHP5.1 static module without error.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/41102
--
Edit this bug report at http://bugs.php.net/?id=41102&edit=1