problems building php-4.ORC1 on Solaris and Free BSD
| From: | Phil Glatz | Date: | Wed, 03 May 2000 00:22:22 +0000 |
| Subject: | problems building php-4.ORC1 on Solaris and Free BSD | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-18367@lists.php.net to get a copy of this message | ||
I've been having difficulties building apache/php-4.ORC1 on Free BSD, so I gave Solaris a shot - different problems, still can't build. I've been able to create a good Apache with the php4 beta 4, so it seems the problem is with RC1. On both platforms, I've been building Apache 1.3.12 with PHP 4 RC1 and mod_auth_mysql 2.20
I'm passing this info along, hoping there may be a workaround or patch (or maybe I'm just doing something wrong). I've been very impressed with the beta 4 version, and would love to get the new one going.
Scenario 1: Solaris 2.6
=======================
using gcc version 2.8.1
cd /home/philg/com/apache_1.3.12
./configure --prefix=/home/philg/com/apache-3.12
cd /home/philg/com/php-4.0RC1
./configure --with-apache=/home/philg/com/apache_1.3.12 \
--with-mysql=/usr/local/pkg/mysql \
--enable-track-vars
make
I get a few warnings:
/bin/sh ../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXML_BYTE_ORDER=21 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -g -O2 -Wall -c zend-scanner.c
zend-scanner.c:5755: warning: `yy_fatal_error' defined but not used
zend-scanner.c:5740: warning: `yy_top_state' defined but not used
and
/bin/sh ../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXML_BYTE_ORDER=21 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -g -O2 -Wall -c zend_operators.c
zend_operators.c: In function `is_numeric_string':
zend_operators.c:1368: warning: implicit declaration of function `finite'
and finally get a fatal error while building "standard":
gcc -DHAVE_CONFIG_H -I. -I/home/philg/com/php-4.0RC1/ext/standard -I../.. -I../../Zend -I/home/philg/com/php-4.0RC1 -I/home/philg/com/apache_1.3.12/src/include -I/home/philg/com/apache_1.3.12/src/os/unix -I/usr/local/pkg/mysql/include -I/home/philg/com/php-4.0RC1/ext/xml/expat/xmltok -I/home/philg/com/php-4.0RC1/ext/xml/expat/xmlparse -DXML_BYTE_ORDER=21 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -g -O2 -Wall -c basic_functions.c && touch basic_functions.lo
basic_functions.c:324: `php_if_dl' undeclared here (not in a function)
basic_functions.c:324: initializer element for `basic_functions[201].handler' is not constant
basic_functions.c: In function `php_info_basic':
basic_functions.c:708: warning: implicit declaration of function `php_info_dl'
*** Error code 1
make: Fatal error: Command failed for target `basic_functions.lo'
Scenario 2: Free BSD 2.2.2
==========================
using gcc version 2.7.2.1
Configuration:
cd /com/apache_1.3.12
./configure --prefix=/com/apache-3.12
cd /com/php-4.0RC1
./configure --with-apache=/com/apache_1.3.12 \
--with-mysql=/com/mysql \
--with-gd=/com/src/gd1.3 --enable-track-vars
make
make install
cd ../apache_1.3.12
./configure --prefix=/com/apache-3.12 --activate-module=src/modules/php4/libphp4.a \
--enable-module=all --enable-module=rewrite \
--activate-module=src/modules/auth_mysql/libauth_mysql.a \
--enable-module=expires --enable-module=headers \
--enable-module=info
make
I get through the compilations OK, but when I get to the final Apache linking, I get the following error:
gcc -funsigned-char -I/com/php-4.0RC1 -I/com/php-4.0RC1/Zend -I/com/php-4.0RC1/Zend \
-I/com/php-4.0RC1 -DUSE_EXPAT -I./lib/expat-lite
./apaci -o httpd buildmark.o modules.o \
modules/example/libexample.a modules/php4/libphp4.a modules/experimental/libexperimental.a \
modules/standard/libstandard.a modules/proxy/libproxy.a main/libmain.a ./os/unix/libos.a \
ap/libap.a lib/expat-lite/libexpat.a -L/com/src/gd1.3 -L/com/mysql/lib/mysql \
-L/com/src/gd1.3 -L/com/mysql/lib/mysql -Lmodules/php4 -L../modules/php4 -L../../modules/php4 \
-lmodphp4 -lmysqlclient -lgd -lbind -lm -lcryptfopen-wrappers.c:742: Undefined symbol `___error' referenced from text segment fopen-wrappers.c:752: Undefined symbol `___error' referenced from text segment zend_operators.c:1356: Undefined symbol `___error' referenced from text segment zend_operators.c:1358: Undefined symbol `___error' referenced from text segment zend_operators.c:1365: Undefined symbol `___error' referenced from text segment zend_operators.c:1367: Undefined symbol `___error' referenced from text segment ./zend-scanner.l:1126: Undefined symbol `___error' referenced from text segment ./zend-scanner.l:1128: Undefined symbol `___error' referenced from text segment posix.c:158: Undefined symbol `___error' referenced from text segment posix.c:0: More undefined symbol ___error refs follow * Digging arounf fopen-wrappers, I see the following: fopen-wrappers.c:742: Undefined symbol `___error' referenced from text segment /* read the response */ result = php_get_ftp_result(*socketd); if (mode[0] == 'r') {
/* when reading file, it must exist */
if (result > 299 || result < 200) {
php_error(E_WARNING, "File not found");
free_url(resource);
SOCK_FCLOSE(*socketd);
*socketd = 0;
errno = ENOENT;
return NULL;
I'm guessing this is a resolution problem, perhaps because I'm using an older Free BSD. But since the beta 4 worked, I'm wondering what has changed. This is the first time in the last three years I've had such difficulty building PHP, and would love to move ahead with version 4.
thanks.