I've have an up-to-date clone of jdk8/tl + a patch to code in the jdk repository that makes use of APIs that are new in jdk8. It builds/run happily on all platforms except Mac where it needs to build JObjC.jar.

Attached is the tail of "make LOG=trace" where it looks like JObjC.jar involves compiling jdk8 classes with -source/target 1.5. In this case the boot JDK is an update to date build of jdk7u-dev.

Does anyone have any insight in how JObjC.jar should be built? I remember Dan Xu ran into something similar recently with @Native and I suspect this is the same underlying issue (in Dan's case then the code didn't need @Native).

Thanks,

-Alan


Compiling 886 files for BUILD_JOBJC( /u/alanb/ws/jdk7u-dev/build/macosx-x86_64/j2sdk-image/bin/javac -source 1.5 -target 1.5 -g -bootclasspath /u/alanb/ws/jdk7u-dev/build/macosx-x86_64/j2sdk-image/jre/lib/rt.jar -cp /u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/../langtools/dist/lib/classes.jar -Xlint:all,-deprecation,-unchecked,-rawtypes,-cast,-serial,-dep-ann,-static,-fallthrough,-try,-varargs,-empty,-finally -implicit:none -sourcepath "/u/alanb/ws/tl/jdk/src/macosx/native/jobjc/src/core/java:/u/alanb/ws/tl/jdk/src/macosx/native/jobjc/src/runtime-additions/java:/u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/gensrc" -d /u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/jobjc_classes @/u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/jobjc_classes/_the.batch.tmp && /bin/mv /u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/jobjc_classes/_the.batch.tmp /u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/jobjc_classes/_the.batch) /u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/gensrc/java/nio/CharBuffer.java:34: error: cannot find symbol
import java.util.Spliterator;
                ^
  symbol:   class Spliterator
  location: package java.util
/u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/gensrc/java/nio/CharBuffer.java:35: error: package java.util.stream does not exist
import java.util.stream.StreamSupport;
                       ^
/u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/gensrc/java/nio/CharBuffer.java:36: error: package java.util.stream does not exist
import java.util.stream.IntStream;
                       ^
/u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/gensrc/java/nio/CharBuffer.java:1481: error: cannot find symbol
    public IntStream chars() {
           ^
  symbol:   class IntStream
  location: class CharBuffer
/u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/gensrc/java/nio/CharBuffer.java:1482: error: cannot find symbol CharBufferSpliterator spliterator = new CharBufferSpliterator(this);
        ^
  symbol:   class CharBufferSpliterator
  location: class CharBuffer
/u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/gensrc/java/nio/CharBuffer.java:1482: error: cannot find symbol CharBufferSpliterator spliterator = new CharBufferSpliterator(this);
                                                ^
  symbol:   class CharBufferSpliterator
  location: class CharBuffer
/u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/gensrc/java/nio/CharBuffer.java:1483: error: cannot find symbol
        return StreamSupport.intStream(spliterator);
               ^
  symbol:   variable StreamSupport
  location: class CharBuffer
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
7 errors
make[2]: *** [/u/alanb/ws/tl/build/macosx-x86_64-normal-server-release/jdk/jobjc_classes/_the.batch] Error 1
make[1]: *** [classes-only] Error 2
make: *** [jdk-only] Error 2

Reply via email to