php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #9175 Configure isn't settings vars correctly
Submitted: 2001-02-08 12:04 UTC Modified: 2001-04-29 11:48 UTC
From: cerri at libero dot it Assigned:
Status: Closed Package: Java related
PHP Version: 4.0.4pl1 OS: TurboLinux 6.0.5
Private report: No CVE-ID: None
 [2001-02-08 12:04 UTC] cerri at libero dot it
Hi

I'm compiling PHP 4.0.4pl1 with this configure:

CFLAGS=? -I/usr/local/jdk118/include -I/usr/local/jdk118/include/linux? LDFLAGS=? -L/usr/local/lib -L/usr/X11R6/lib? ./configure --with-mysql=/usr/local/mysql --with-openssl=/usr/local/ssl --with-gd --enable-gd-imgstrttf --with-jpeg-dir=/usr/local/src/jpeg-6b -with-xpm-dir=/usr/local/src/xpm-3.4k --with-png --enable-exif --enable-inline-optimization --enable-memory-limit --enable-safe-mode --enable-sysvshm --enable-sysvsem --with-gnu-ld --with-exec-dir=/coda/apache/phpbin --with-mcrypt --with-mm --with-zlib --with-gettext --enable-ftp --enable-sockets --prefix=/usr/local/php4 --enable-versioning --with-config-file-path=/coda/apache/conf --with-apxs=/usr/local/apache/bin/apxs --with-jdk=/usr/local/jdk118 --with-servlet=/usr/local/JSDK2.0 --disable-url-fopen-wrapper --enable-freetype-4bit-antialias-hack --with-ttf

but when I compile, I encounter this error:

make[1]: Leaving directory `/usr/local/src/php-4.0.4pl1/ext'
Making all in sapi
make[1]: Entering directory `/usr/local/src/php-4.0.4pl1/sapi'
Making all in servlet
make[2]: Entering directory `/usr/local/src/php-4.0.4pl1/sapi/servlet'
make[3]: Entering directory `/usr/local/src/php-4.0.4pl1/sapi/servlet'
/usr/local/src/php-4.0.4pl1/build/shtool mkdir -p net/php
javac net/php/reflect.java
javac -classpath .:/usr/local/JSDK2.0/lib/jsdk.jar:.:/usr/local/jdk118/lib/classes.zip:/usr/local/JSDK2.0/lib/jsdk.jar net/php/servlet.java
javac -classpath .:/usr/local/JSDK2.0/lib/jsdk.jar:.:/usr/local/jdk118/lib/classes.zip:/usr/local/JSDK2.0/lib/jsdk.jar net/php/formatter.java
phpsrvlt.jar net/php/*.class net/php/*.properties
/bin/sh: phpsrvlt.jar: command not found
make[3]: *** [phpsrvlt.jar] Error 127
make[3]: Leaving directory `/usr/local/src/php-4.0.4pl1/sapi/servlet'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/php-4.0.4pl1/sapi/servlet'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/php-4.0.4pl1/sapi'
make: *** [all-recursive] Error 1

as I can see, the var JAVA_JAR is equal to nothing, infact the shell try to launch file phpsrvlt.jar.

/bin/sh: phpsrvlt.jar: command not found

Searching for JAVA_JAR, I found it's set into 2 files

./configure
./ext/java/config.m4

and finally the result is saved in the file

./config_vars.mk

where the var is set as

JAVA_JAR =

... so, I correct that file in

JAVA_JAR = jar -cf

and all goes well.

I don't know if it helps, but I'm using:

IBM jdk 1.1.8
SUN JSDK 2.0
CLASSPATH=.:/usr/local/jdk118/lib/classes.zip
.

Another issues I think it's strange: if I don't set CFLAGS and LDFLAGS, many libs and includes files aren't find, and I get or configure errors, or make errors. With C and LD flags, configure reports:

checking for c++... c++
checking whether the C++ compiler (c++   -L/usr/local/lib -L/usr/X11R6/lib -Wl,-rpath,/usr/local/ssl/lib -L/usr/local/ssl/lib -Wl,-rpath,/usr/local/src/jpeg-6b/lib -L/usr/local/src/jpeg-6b/lib -Wl,-rpath,/usr/local/src/xpm-3.4k/lib -L/usr/local/src/xpm-3.4k/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib -Wl,-rpath,/usr/local/mysql/lib/mysql -L/usr/local/mysql/lib/mysql) works... yes
checking whether the C++ compiler (c++   -L/usr/local/lib -L/usr/X11R6/lib -Wl,-rpath,/usr/local/ssl/lib -L/usr/local/ssl/lib -Wl,-rpath,/usr/local/src/jpeg-6b/lib -L/usr/local/src/jpeg-6b/lib -Wl,-rpath,/usr/local/src/xpm-3.4k/lib -L/usr/local/src/xpm-3.4k/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib -Wl,-rpath,/usr/local/mysql/lib/mysql -L/usr/local/mysql/lib/mysql) is a cross-compiler... no
checking whether we are using GNU C++... yes
checking whether c++ accepts -g... yes
checking how to run the C++ preprocessor... c++ -E
[snip]
Configuring libtool
checking build system type... i686-pc-linux-gnu
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes

Settings CFLAGS and LDFLAGS appears to solve problem, but here:

make[1]: Leaving directory `/usr/local/src/php-4.0.4pl1/regex'
Making all in .
make[1]: Entering directory `/usr/local/src/php-4.0.4pl1'
/bin/sh /usr/local/src/php-4.0.4pl1/libtool --silent --mode=compile gcc  -I. -I/usr/local/src/php-4.0.4pl1/ -I/usr/local/src/php-4.0.4pl1/main -I/usr/local/src/php-4.0.4pl1 -I/usr/local/apache/include -I/usr/local/src/php-4.0.4pl1/Zend -I/usr/local/ssl/include -I/usr/local/include -I/usr/local/mysql/include/mysql -I/usr/local/src/php-4.0.4pl1/ext/xml/expat/xmltok -I/usr/local/src/php-4.0.4pl1/ext/xml/expat/xmlparse -I/usr/local/src/php-4.0.4pl1/TSRM  -DLINUX=22 -DMOD_SSL=208100 -DUSE_HSREGEX -DEAPI -DEAPI_MM -DUSE_EXPAT -D_REENTRANT -DXML_BYTE_ORDER=12 -I../TSRM -I/usr/local/jdk118/include -I/usr/local/jdk118/include/linux -pthread  -c stub.c
/bin/sh /usr/local/src/php-4.0.4pl1/libtool --silent --mode=link gcc  -I. -I/usr/local/src/php-4.0.4pl1/ -I/usr/local/src/php-4.0.4pl1/main -I/usr/local/src/php-4.0.4pl1 -I/usr/local/apache/include -I/usr/local/src/php-4.0.4pl1/Zend -I/usr/local/ssl/include -I/usr/local/include -I/usr/local/mysql/include/mysql -I/usr/local/src/php-4.0.4pl1/ext/xml/expat/xmltok -I/usr/local/src/php-4.0.4pl1/ext/xml/expat/xmlparse -I/usr/local/src/php-4.0.4pl1/TSRM  -DLINUX=22 -DMOD_SSL=208100 -DUSE_HSREGEX -DEAPI -DEAPI_MM -DUSE_EXPAT -D_REENTRANT -DXML_BYTE_ORDER=12 -I../TSRM -I/usr/local/jdk118/include -I/usr/local/jdk118/include/linux -pthread   -o libphp4.la -rpath /usr/local/src/php-4.0.4pl1/libs -avoid-version -L/usr/local/ssl/lib -L/usr/local/src/jpeg-6b/lib -L/usr/local/src/xpm-3.4k/lib -L/usr/local/lib -L/usr/local/mysql/lib/mysql  -R /usr/local/ssl/lib -R /usr/local/src/jpeg-6b/lib -R /usr/local/src/xpm-3.4k/lib -R /usr/local/lib -R /usr/local/mysql/lib/mysql stub.lo  Zend/libZend.la sapi/servlet/libsapi.la main/libmain.la regex/libregex.la ext/exif/libexif.la ext/ftp/libftp.la ext/gd/libgd.la ext/gettext/libgettext.la ext/mcrypt/libmcrypt.la ext/mysql/libmysql.la ext/openssl/libopenssl.la ext/pcre/libpcre.la ext/posix/libposix.la ext/session/libsession.la ext/sockets/libsockets.la ext/standard/libstandard.la ext/sysvsem/libsysvsem.la ext/sysvshm/libsysvshm.la ext/xml/libxml.la ext/zlib/libzlib.la TSRM/libtsrm.la -lpam -lstdc++ -ldl -lz -lmm -lmysqlclient -lmcrypt -lmcrypt -lz -lpng -lgd -lX11 -lXpm -ljpeg -lcrypto -lssl -lresolv -lm -ldl -lcrypt -lnsl -lresolv -L/usr/local/src/jpeg-6b/lib -ljpeg -L/usr/local/src/xpm-3.4k/lib -lXpm -L/usr/local/src/xpm-3.4k/lib -lX11
/usr/bin/ld: cannot open -lX11: No such file or directory
collect2: ld returned 1 exit status
make[1]: *** [libphp4.la] Error 1
make[1]: Leaving directory `/usr/local/src/php-4.0.4pl1'
make: *** [all-recursive] Error 1
[root@localhost php-4.0.4pl1]# 

and I don't understand why isn't using my LDFLAGS. Please note that other parts of the same make are using the -L/usr/X11R6/lib, as configure recognizes it.

Please let me know if you need other infos.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-02-08 12:18 UTC] cerri at libero dot it
I solved the second issue setting EXTRA_LDFLAGS=? -L/usr/local/lib -L/usr/X11R6/lib?.

Oh, I forgot: sorry for my english... :)
 [2001-02-08 12:21 UTC] cerri at libero dot it
I solved the second issue setting EXTRA_LDFLAGS=? -L/usr/local/lib -L/usr/X11R6/lib?.

Oh, I forgot: sorry for my english... :)
 [2001-02-08 13:30 UTC] cerri at libero dot it
Other little issue: at make install, I got other errors. First is:

Making install in .
make[1]: Entering directory `/usr/local/src/php-4.0.4pl1'
/usr/local/src/php-4.0.4pl1/build/shtool install -c -m 0755 /usr/local/src/php-4.0.4pl1//sapi/servlet/phpsrvlt.jar /usr/local/php4/lib; /usr/local/src/php-4.0.4pl1/build/shtool install -c -m 0755 libs/libphp4.so /usr/local/php4/lib
mkdir: cannot make directory `/usr/local/php4/lib': File exists
mkdir: cannot make directory `/usr/local/php4/lib/php': Not a directory
mkdir: cannot make directory `/usr/local/php4/lib/php/extensions': Not a directory
mkdir: cannot make directory `/usr/local/php4/lib/php/extensions/no-debug-zts-20001214': Not a directory
make[1]: Leaving directory `/usr/local/src/php-4.0.4pl1'
Making install in pear
make[1]: Entering directory `/usr/local/src/php-4.0.4pl1/pear'
make[2]: Entering directory `/usr/local/src/php-4.0.4pl1/pear'
mkdir: cannot make directory `/usr/local/php4/lib': File exists
mkdir: cannot make directory `/usr/local/php4/lib/php': Not a directory
+----------------------------------------------------------------------+
| The installation process is incomplete. The following resources were |
| not installed:                                                       |
|                                                                      |
|   Self-contained Extension Support                                   |
|   PEAR: PHP Extension and Add-on Repository                          |
|                                                                      |
| To install these components, become the superuser and execute:       |
|                                                                      |
|   # make install-su                                                  |
+----------------------------------------------------------------------+
make[2]: *** [install-data-local] Error 5
make[2]: Leaving directory `/usr/local/src/php-4.0.4pl1/pear'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/php-4.0.4pl1/pear'
make: *** [install-recursive] Error 1

If I manually create the dirs /usr/local/php4, /usr/local/php4/bin and /usr/local/php4/lib, all goes well. Oh, even removing --prefix=/usr/local/php4 will work.

I saw that with the configure above the make install puts libphp4.so in /usr/local/php4/lib (meanwhile without --prefix libphp4.so went left in /usr/local/lib): why that configure is "jumping" the apxs part?

I mean, if I compile php4 with this little configure

./configure --with-apxs=/usr/local/apache/bin/apxs --enable-versioning --enable-track-vars

make install will do

Making install in .
make[1]: Entering directory `/usr/local/src/php-4.0.4pl1'
/usr/local/apache/bin/apxs -i -a -n php4 libs/libphp4.so
cp libs/libphp4.so /usr/local/apache/libexec/libphp4.so
chmod 755 /usr/local/apache/libexec/libphp4.so
[activating module `php4' in /coda/apache/conf/httpd.conf]

but if I use the "long" :) configure, make install ignore apxs. Look:

Making install in .
make[1]: Entering directory `/usr/local/src/php-4.0.4pl1'
/usr/local/src/php-4.0.4pl1/build/shtool install -c -m 0755 /usr/local/src/php-4
.0.4pl1//sapi/servlet/phpsrvlt.jar /usr/local/php4/lib; /usr/local/src/php-4.0.4
pl1/build/shtool install -c -m 0755 libs/libphp4.so /usr/local/php4/lib
installing shared modules into /usr/local/php4/lib/php/extensions/no-debug-zts-2
0001214
make[1]: Leaving directory `/usr/local/src/php-4.0.4pl1'

Is it a my fault?

Thank you
 [2001-03-29 10:50 UTC] sniper@php.net
Does this happen with latest CVS snapshot from http://snaps.php.net/ ?

--Jani

 [2001-04-29 11:48 UTC] jmoore@php.net
No feedback.

closing
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Tue Dec 07 00:03:49 2021 UTC