run-generator jobj build step not processing symbolic links to jawt.h

Stephen Bannasch stephen.bannasch at deanbrook.org
Mon Apr 4 10:17:34 PDT 2011


I'm still getting errors executing the run-generator part of jobc because the build script is not able to process symbolic 
links properly -- the run-generator loads jawt_md.h but can't resolve the reference to jawt.h:

/System/Library/Frameworks/JavaVM.framework/Headers/jawt_md.h:10:18: error: jawt.h: No such file or directory

The full console output from the build starting with successfully running: build-core-native and build-generator and then 
showing the error while executing run-generator is here:

https://gist.github.com/901960

I can cat both header files successfully:

   /System/Library/Frameworks/JavaVM.framework/Headers/jawt_md.h
   /System/Library/Frameworks/JavaVM.framework/Headers/jawt.h

Both are symbolic links to:

   ../../CurrentJDK/Headers/jawt_md.h
   ../../CurrentJDK/Headers/jawt.h

I've expanded some of the initial console run-generator output below to show the classpaths more clearly:

[exec] ENV['JAVA_HOME'] = /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
[exec] java -fullversion = java full version "1.6.0_24-b07-334"
[exec] jobjc_jar = JObjC.jar
[exec] libpath = /Users/stephen/dev/java/src/macosx-port/build/macosx-universal/JObjC.dst/Debug
[exec] objroot = /Users/stephen/dev/java/src/macosx-port/build/macosx-universal/JObjC.build
[exec] ARCHS   = ppc i386 x86_64
[exec] java -classpath 
/Users/stephen/dev/java/src/macosx-port/build/macosx-universal/JObjC.build/bin/core:/Users/stephen/dev/java/src/macosx-port/build/macosx-universal/JObjC.build/bin/generator 
com.apple.internal.jobjc.generator.BootClassPathMinus JObjC.jar
[exec] bootclasspath is:
[exec] /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsfd.jar
        /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar
        /System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Resources/Java/JavaRuntimeSupport.jar
        /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar
        /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/laf.jar
        /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/sunrsasign.jar
        /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar
        /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jce.jar
        /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar
[exec] java -d64 -Xms128m -Xmx512m 
-Djava.library.path=/Users/stephen/dev/java/src/macosx-port/build/macosx-universal/JObjC.dst/Debug
           -Xbootclasspath
               /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsfd.jar
               /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar
 
/System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Resources/Java/JavaRuntimeSupport.jar
               /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar
               /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/laf.jar
               /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/sunrsasign.jar
               /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar
               /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jce.jar
               /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar
           -classpath
               /Users/stephen/dev/java/src/macosx-port/build/macosx-universal/JObjC.build/bin/core
           /Users/stephen/dev/java/src/macosx-port/build/macosx-universal/JObjC.build/bin/generator -ea 
com.apple.internal.jobjc.generator.Generator
           dst=/Users/stephen/dev/java/src/macosx-port/build/macosx-universal/JObjC.build/src/jobjc
[exec] Cleaning up: /Users/stephen/dev/java/src/macosx-port/build/macosx-universal/JObjC.build/src/jobjc
[exec] Outputting classes to: /Users/stephen/dev/java/src/macosx-port/build/macosx-universal/JObjC.build/src/jobjc


I'm starting the build with this line:

unset LC_ALL LANG CLASSPATH JAVA_HOME LD_LIBRARY_PATH; make ALLOW_DOWNLOADS=true SA_APPLE_BOOT_JAVA=true 
ALWAYS_PASS_TEST_GAMMA=true ALT_BOOTDIR=`/usr/libexec/java_home -v 1.6`

The ALT_BOOTDIR is being set to:

   /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

I'm using MacOS X 10.6.7, xcode 3.2.6 and java 1.6.0_24

$ /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)


More information about the macosx-port-dev mailing list