Summary: | compilation fails to locate JavaVM.framework/Libraries | ||
---|---|---|---|
Product: | [JogAmp] Jogl | Reporter: | Ricardo Fabbri <rfabbri> |
Component: | macosx | Assignee: | Sven Gothel <sgothel> |
Status: | RESOLVED INVALID | ||
Severity: | blocker | CC: | gouessej |
Priority: | --- | ||
Version: | 2 | ||
Hardware: | pc_x86_64 | ||
OS: | macosx | ||
Type: | --- | SCM Refs: | |
Workaround: | --- |
Description
Ricardo Fabbri
2013-08-22 05:55:18 CEST
(In reply to comment #0) > Compilation fails as follows > > rfabbri@MacBook-Pro:~/src/jogl/make$ ant > > ... > BUILD FAILED > /Users/rfabbri/src/jogl/make/build.xml:71: The following error occurred > while executing this line: > /Users/rfabbri/src/jogl/make/build-nativewindow.xml:740: The following error > occurred while executing this line: > /Users/rfabbri/src/jogl/make/build-nativewindow.xml:681: > /System/Library/Frameworks/JavaVM.framework/Libraries does not exist. > > > > This is Mac OSX 10.8.4 and git branch master 2cb2845 Thanks. We should not rely on this particular directory. We only define (gluegen-cpptasks-base.xml): +++ <target name="setup.java.home.dir.macosx" if="isOSX"> <!-- Java7 std location --> <condition property="java.home.dir" value="${java.home}/.."> <available file="${java.home}/../include/jni.h"/> </condition> <condition property="java.includes.dir" value="${java.home}/../include"> <available file="${java.home}/../include/jni.h"/> </condition> <!-- Fallback value Java6 --> <property name="java.home.dir" value="/System/Library/Frameworks/JavaVM.framework/Home" /> <property name="java.includes.dir" value="/System/Library/Frameworks/JavaVM.framework/Headers" /> </target> ... <condition property="java.includes.dir.platform" value="${gluegen.root.abs-path}/make/stub_includes/jni/macosx"> <available file="${java.includes.dir}/darwin/jawt_md.h"/> </condition> <condition property="java.lib.dir.platform" value="${java.home.dir}/jre/lib"> <available file="${java.home.dir}/jre/lib/libjawt.dylib"/> </condition> <!-- Fallback value Java6 --> <property name="java.includes.dir.platform" value="/System/Library/Frameworks/JavaVM.framework/Headers" /> <property name="java.lib.dir.platform" value="/System/Library/Frameworks/JavaVM.framework/Libraries" /> +++ .. hence if java7 is installed and PATH is set accordingly, i.e.: JAVA_HOME=`/usr/libexec/java_home -version 1.7` PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME PATH and will use the proper 'java.home' env. var and all shall work. See e.g. gluegen/make/scripts/make.gluegen.all.macosx-clang.sh (similar script in jogl). build-nativewindow.xml in jogl only uses: <syslibset dir="${java.lib.dir.platform}" libs="jawt" if="@{output.lib.name}.useLibJAWT"/> |