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