From: <php...@li...> - 2006-11-03 17:50:49
|
Hi all, I am trying to build an install php java bridge on my centos 4.4 box. But I alway got an error I don't understand. rpmbuild --rebuild php-java-bridge-3.1.8-1.src.rpm ... ---------------------------------------------------------------------- Libraries have been installed in: /usr/src/redhat/BUILD/php-java-bridge-3.1.8/modules If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,--rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- cd /usr/src/redhat/BUILD/php-java-bridge-3.1.8/server; make CFLAGS="-g -O2" GCJFLAGS=" `echo -g -O2|sed 's/-D[^ ]*//g'`" install make[1]: Entering directory `/usr/src/redhat/BUILD/php-java-bridge-3.1.8/server' if /bin/sh ./libtool --mode=compile --tag=CC gcc -DHAVE_CONFIG_H -I. -I. -I. -DEXTENSION_DIR="\"/usr/lib/php4\"" -I/usr/java/j2sdk1.4.2_13/include -I/usr/java/j2sdk1.4.2_13/include/linux -D_REENTRANT -g -O2 -MT natcJavaBridge.lo -MD -MP -MF ".deps/natcJavaBridge.Tpo" -c -o natcJavaBridge.lo natcJavaBridge.c; \ then mv -f ".deps/natcJavaBridge.Tpo" ".deps/natcJavaBridge.Plo"; else rm -f ".deps/natcJavaBridge.Tpo"; exit 1; fi mkdir .libs gcc -DHAVE_CONFIG_H -I. -I. -I. -DEXTENSION_DIR=\"/usr/lib/php4\" -I/usr/java/j2sdk1.4.2_13/include -I/usr/java/j2sdk1.4.2_13/include/linux -D_REENTRANT -g -O2 -MT natcJavaBridge.lo -MD -MP -MF .deps/natcJavaBridge.Tpo -c natcJavaBridge.c -fPIC -DPIC -o .libs/natcJavaBridge.o gcc -DHAVE_CONFIG_H -I. -I. -I. -DEXTENSION_DIR=\"/usr/lib/php4\" -I/usr/java/j2sdk1.4.2_13/include -I/usr/java/j2sdk1.4.2_13/include/linux -D_REENTRANT -g -O2 -MT natcJavaBridge.lo -MD -MP -MF .deps/natcJavaBridge.Tpo -c natcJavaBridge.c -o natcJavaBridge.o >/dev/null 2>&1 /bin/sh ./libtool --mode=link --tag=CC gcc -g -O2 -o libnatcJavaBridge.la -rpath /usr/lib/php4 -shared -avoid-version -prefer-pic natcJavaBridge.lo -lrt gcc -shared .libs/natcJavaBridge.o -lrt -Wl,-soname -Wl,libnatcJavaBridge.so -o .libs/libnatcJavaBridge.so ar cru .libs/libnatcJavaBridge.a natcJavaBridge.o ranlib .libs/libnatcJavaBridge.a creating libnatcJavaBridge.la (cd .libs && rm -f libnatcJavaBridge.la && ln -s ../libnatcJavaBridge.la libnatcJavaBridge.la) if gcc -DHAVE_CONFIG_H -I. -I. -I. -DEXTENSION_DIR="\"/usr/lib/php4\"" -I/usr/java/j2sdk1.4.2_13/include -I/usr/java/j2sdk1.4.2_13/include/linux -D_REENTRANT -g -O2 -MT java.o -MD -MP -MF ".deps/java.Tpo" -c -o java.o java.c; \ then mv -f ".deps/java.Tpo" ".deps/java.Po"; else rm -f ".deps/java.Tpo"; exit 1; fi if gcj -fjni -g -O2 -MT php/java/bridge/Base64EncodingOutputBuffer.o -MD -MP -MF "php/java/bridge/.deps/Base64EncodingOutputBuffer.Tpo" -c -o php/java/bridge/Base64EncodingOutputBuffer.o `test -f 'php/java/bridge/Base64EncodingOutputBuffer.java' || echo './'`php/java/bridge/Base64EncodingOutputBuffer.java; \ then mv -f "php/java/bridge/.deps/Base64EncodingOutputBuffer.Tpo" "php/java/bridge/.deps/Base64EncodingOutputBuffer.Po"; else rm -f "php/java/bridge/.deps/Base64EncodingOutputBuffer.Tpo"; exit 1; fi if gcj -fjni -g -O2 -MT php/java/bridge/BaseThreadPool.o -MD -MP -MF "php/java/bridge/.deps/BaseThreadPool.Tpo" -c -o php/java/bridge/BaseThreadPool.o `test -f 'php/java/bridge/BaseThreadPool.java' || echo './'`php/java/bridge/BaseThreadPool.java; \ then mv -f "php/java/bridge/.deps/BaseThreadPool.Tpo" "php/java/bridge/.deps/BaseThreadPool.Po"; else rm -f "php/java/bridge/.deps/BaseThreadPool.Tpo"; exit 1; fi if gcj -fjni -g -O2 -MT php/java/bridge/ChainsawLogger.o -MD -MP -MF "php/java/bridge/.deps/ChainsawLogger.Tpo" -c -o php/java/bridge/ChainsawLogger.o `test -f 'php/java/bridge/ChainsawLogger.java' || echo './'`php/java/bridge/ChainsawLogger.java; \ then mv -f "php/java/bridge/.deps/ChainsawLogger.Tpo" "php/java/bridge/.deps/ChainsawLogger.Po"; else rm -f "php/java/bridge/.deps/ChainsawLogger.Tpo"; exit 1; fi if gcj -fjni -g -O2 -MT php/java/bridge/ClassicParserString.o -MD -MP -MF "php/java/bridge/.deps/ClassicParserString.Tpo" -c -o php/java/bridge/ClassicParserString.o `test -f 'php/java/bridge/ClassicParserString.java' || echo './'`php/java/bridge/ClassicParserString.java; \ then mv -f "php/java/bridge/.deps/ClassicParserString.Tpo" "php/java/bridge/.deps/ClassicParserString.Po"; else rm -f "php/java/bridge/.deps/ClassicParserString.Tpo"; exit 1; fi if gcj -fjni -g -O2 -MT php/java/bridge/ClassicResponse.o -MD -MP -MF "php/java/bridge/.deps/ClassicResponse.Tpo" -c -o php/java/bridge/ClassicResponse.o `test -f 'php/java/bridge/ClassicResponse.java' || echo './'`php/java/bridge/ClassicResponse.java; \ then mv -f "php/java/bridge/.deps/ClassicResponse.Tpo" "php/java/bridge/.deps/ClassicResponse.Po"; else rm -f "php/java/bridge/.deps/ClassicResponse.Tpo"; exit 1; fi if gcj -fjni -g -O2 -MT php/java/bridge/ConstructorCache.o -MD -MP -MF "php/java/bridge/.deps/ConstructorCache.Tpo" -c -o php/java/bridge/ConstructorCache.o `test -f 'php/java/bridge/ConstructorCache.java' || echo './'`php/java/bridge/ConstructorCache.java; \ then mv -f "php/java/bridge/.deps/ConstructorCache.Tpo" "php/java/bridge/.deps/ConstructorCache.Po"; else rm -f "php/java/bridge/.deps/ConstructorCache.Tpo"; exit 1; fi if gcj -fjni -g -O2 -MT php/java/bridge/DefaultOptions.o -MD -MP -MF "php/java/bridge/.deps/DefaultOptions.Tpo" -c -o php/java/bridge/DefaultOptions.o `test -f 'php/java/bridge/DefaultOptions.java' || echo './'`php/java/bridge/DefaultOptions.java; \ then mv -f "php/java/bridge/.deps/DefaultOptions.Tpo" "php/java/bridge/.deps/DefaultOptions.Po"; else rm -f "php/java/bridge/.deps/DefaultOptions.Tpo"; exit 1; fi if gcj -fjni -g -O2 -MT php/java/bridge/DynamicClassLoader.o -MD -MP -MF "php/java/bridge/.deps/DynamicClassLoader.Tpo" -c -o php/java/bridge/DynamicClassLoader.o `test -f 'php/java/bridge/DynamicClassLoader.java' || echo './'`php/java/bridge/DynamicClassLoader.java; \ then mv -f "php/java/bridge/.deps/DynamicClassLoader.Tpo" "php/java/bridge/.deps/DynamicClassLoader.Po"; else rm -f "php/java/bridge/.deps/DynamicClassLoader.Tpo"; exit 1; fi if gcj -fjni -g -O2 -MT php/java/bridge/DynamicJavaBridgeClassLoader.o -MD -MP -MF "php/java/bridge/.deps/DynamicJavaBridgeClassLoader.Tpo" -c -o php/java/bridge/DynamicJavaBridgeClassLoader.o `test -f 'php/java/bridge/DynamicJavaBridgeClassLoader.java' || echo './'`php/java/bridge/DynamicJavaBridgeClassLoader.java; \ then mv -f "php/java/bridge/.deps/DynamicJavaBridgeClassLoader.Tpo" "php/java/bridge/.deps/DynamicJavaBridgeClassLoader.Po"; else rm -f "php/java/bridge/.deps/DynamicJavaBridgeClassLoader.Tpo"; exit 1; fi ./php/java/bridge/DynamicJavaBridgeClassLoader.java:52: error: Class `php.java.bridge.DynamicJavaBridgeClassLoader' already defined in php/java/bridge/DynamicJavaBridgeClassLoader.java:52. public class DynamicJavaBridgeClassLoader extends DynamicClassLoader { ^ ./php/java/bridge/DynamicJavaBridgeClassLoader.java:56: confused by earlier errors, bailing out make[1]: *** [php/java/bridge/DynamicJavaBridgeClassLoader.o] Error 1 make[1]: Leaving directory `/usr/src/redhat/BUILD/php-java-bridge-3.1.8/server' make: *** [/usr/src/redhat/BUILD/php-java-bridge-3.1.8/modules/stamp] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.33708 (%build) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.33708 (%build) Any ideas? |
From: <php...@li...> - 2006-11-06 17:26:29
|
I am having problems getting the bridge to work with php 5.2 - I have it working with 5.1.6. Does anyone know if it should work and if so, anything that needs to be done differently to 5.1.6. Paul Send instant messages to your online friends http://uk.messenger.yahoo.com |
From: <php...@li...> - 2006-11-06 17:41:27
|
Hi, > I am having problems getting the bridge to work with > php 5.2 that surprises me. Which problems do you have? The pure PHP implementation should work with all php implementations since php 5.1.2, including php 5.2 or php >= 6 for example. It should even work with the pure Java implementation of PHP -- well, not at the moment, quercus currently doesn't support interfaces and pfsockopen, but once these features are supported it will work. Regards, Jost Boekemeier ___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de |
From: <php...@li...> - 2006-11-06 18:01:26
|
Hi, the error: Class `php.java.bridge.DynamicJavaBridgeClassLoader' already defined in php/java/bridge/DynamicJavaBridgeClassLoader.java is due to a bug in the GNU GCC compiler. On Linux we use the GCC compiler to compile the Java classes into native code. This means that you don't need a Java VM on these systems and that Java support is compiled into the PHP binary (PHP uses dlopen to directly load the native lucene- or itext libraries). However, the GNU GCC compiler must be able to compile the Java code; it must generate a directed graph from all class dependencies and then begin at the leaves. The above message means that for some reason the same class appears twice in the GCC internal data structure. Please report this bug to the GCC maintainers. As a workaround please compile the bridge on RedHat Enterprise Linux or Fedora Linux and try to avoid compiling on NFS-mounted file systems if the client/server clocks are not synchronized. For further information please see PR1587302 http://sourceforge.net/tracker/index.php?func=detail&aid=1587302&group_id=117793&atid=679233 (marked as invalid, "won't fix"). Regards, Jost Boekemeier ___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de |