ID: 24204 Updated by: [EMAIL PROTECTED] Reported By: php_public at macfreek dot nl -Status: Open +Status: Analyzed Bug Type: Java related Operating System: Mac OS X (10.2.6) PHP Version: 4.3.2 New Comment:
The short of it is, those files are needed, but I believe you're misunderstanding how frameworks work. By specifying the full path you are (potentially) invalidating future release of the JavaVM framework. The proper answer is to figure out why the jni.h file is not being used by JavaVM framework. I'll try to reproduce it later today. Previous Comments: ------------------------------------------------------------------------ [2003-06-16 07:10:17] php_public at macfreek dot nl Description: ------------ In short, Java does not compile on Mac OS X, because the Java headers are at an other location then java.c expects them. configure does work. Reproduce code: --------------- On Mac OS X (Darwin): ./configure --with-java=/usr (you can leave the =/usr out). make Actual result: -------------- /Users/freek/Downloads/php-4.3.2/ext/java/java.c:39:24: JavaVM/jni.h: No such file or directory This is due to this code: #if HAVE_JAVAVM_JAVAVM_H #include <JavaVM/JavaVM.h> #include <JavaVM/jni.h> #define JNI_12 #else #include <jni.h> #endif In php_config.h, the precompiler directive HAVE_JAVAVM_JAVAVM_H was set, even though there is no file on my system called JavaVM/JavaVM.h As an ugly workaround, specifying the full path did work: #include </System/Library/Frameworks/JavaVM.framework/ Versions/A/Headers/JavaVM.h> #include </System/Library/Frameworks/JavaVM.framework/ Versions/1.3.1/Headers/jni.h Apparently, jni.h is not in Java VM 1.4.1, which is also installed on Mac OS X. But to be honest, I got crazy about all symbolic links in /System/Library/ Frameworks/JavaVM.framework/ ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24204&edit=1
