--with-java option not producing shared library
| From: | Sukhwinder Singh | Date: | Fri, 25 Jan 2002 19:51:43 +0000 |
| Subject: | --with-java option not producing shared library | ||
| Groups: | php.install | ||
| Request: | Send a blank email to php-install+get-5754@lists.php.net to get a copy of this message | ||
Hello,
I tried to compiler php 4.1.1 on Red Hat Linux 7.1 as Apache module and found that configure script
doesn't really work same everytime. When I used option --with-qtdom (As some others have
found). Configure failed with message:
checking whether the C++ compiler (c++ -Wl,-rpath,/usr/local/lib -L/usr/local/lib
-Wl,-rpath,/usr/X11R6/lib -L/usr/X11R6/lib -Wl,-rpath,/usr/local -L/usr/local
-Wl,-rpath,/usr/kerberos/lib -L/usr/kerberos/lib -Wl,-rpath,/lib -L/lib
-Wl,-rpath,/usr/java/j2sdk1.4.0/jre/lib/i386/hotspot -L/usr/java/j2sdk1.4.0/jre/lib/i386/hotspot
-Wl,-rpath,/usr/java/j2sdk1.4.0/jre/lib/i386/server -L/usr/java/j2sdk1.4.0/jre/lib/i386/server
-Wl,-rpath,/usr/java/j2sdk1.4.0/jre/lib/i386/native_threads
-L/usr/java/j2sdk1.4.0/jre/lib/i386/native_threads -Wl,-rpath,/usr/java/j2sdk1.4.0/jre/lib/i386
-L/usr/java/j2sdk1.4.0/jre/lib/i386 -Wl,-rpath,/usr/src/libmcal -L/usr/src/libmcal
-Wl,-rpath,/usr/lib/mysql -L/usr/lib/mysql -Wl,-rpath,/usr/local/ssl/lib -L/usr/local/ssl/lib
-Wl,-rpath,/usr/local/mnogosearch/lib -L/usr/local/mnogosearch/lib -Wl,-rpath,/usr/lib/pgsql
-L/usr/lib/pgsql -Wl,-rpath,/usr/lib/qt-2.3.0/lib -L/usr/lib/qt-2.3.0/lib) works... no
configure: error: installation or configuration problem: C++ compiler cannot create executables.
Then I removed --with-qtdom option and configuration went without any problem. There was no
permission problem as I was logged in as root. Qt was installed.
Same kind of problem occurred when using --with-mcrypt. I downloaded and compiled
libmcrypt-2.4.19.tar.gz and mcrypt-2.5.10.tar.gz in /usr/local/lib and ran ldconfig. But configure
failed with error message "Sorry" nothing else.
Frustrated I shut down computer. Next day I again tried to compile and this time configure found c++
compiler to be working and no problem with libmcrypt. I did nothing with computer as I am the only
user using this system. Everything was successful.
As I am only testing options I tried to compile php using option --enable-mailparse and
--enable-php-streams. Php configure, build and install were successful but when I compiled Apache it
resulted in so many undefined references to php_stream* functions. So I had to remove these options.
Now Main problem I am facing is with -with-java option. Build and install were successful with this
option but no libphp_java.so is created. Only libphp_java.a is created. So I am unable to access
java code.
I am using is jdk1.4 beta 1. (in /usr/java/j2sdk1.4.0).
Earlier I had to use only these options in php.ini to enable java support with php4.0.6.
///////////////////////////////////////////////////
java.home=/usr/java/j2sdk1.4.0
extension_dir=/wwwroot/php/lib/php/20010901
java.class.path=/wwwroot/php/lib/php/php_java.jar
extension=libphp_java.so // This file is missing
///////////////////////////////////////////////////
I think it should be clearly written in configure (or manual) etc. which version of a library is
required to enable its support in php. (as was case with libxml and ncurses, ming and many others).
Version changes required were just minor e.g from libxml2-2.4.1 to libxml2-2.4.13. I don't know
if configure script was not able to find these libraries and because of that saying that other
version is required (Even when I explicitly provided paths and ran ldconfig). As I have wasted so
much time to make it work. I some library support is deprecated then too it should be mentioned as I
downloaded manual and it didn't mention that icap support is deprecated. Only after searching
php net I found it. Also --with-Java option did not create libphp_java.so but .a. I wonder if
configure has been changed to create (static lib).a file as php 4.0.6 created .so file.
Could anyone please whey libphp_java.so file isn't build and what I have to write in php.ini to
enable java support.