Hi,
I thought I might inform you that recent checkout of JDK9 (with
modular RT images) fails to build with JDK8u25 as bootstrap JDK. With
JDK8u20 it works correctly. Tried on Linux and Windows. The
configuration on Linux is:
Configuration summary:
* Debug level: release
* HS debug level: product
* JDK variant: normal
* JVM variants: server
* OpenJDK target: OS: linux, CPU architecture: x86, address length: 64
Tools summary:
* Boot JDK: java version "1.8.0_25" Java(TM) SE Runtime
Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM
(build 25.25-b02, mixed mode) (at /home/peter/Apps64/jdk1.8.0)
* Toolchain: gcc (GNU Compiler Collection)
* C Compiler: Version 4.8.3 (at /usr/bin/gcc)
* C++ Compiler: Version 4.8.3 (at /usr/bin/g++)
Build performance summary:
* Cores to use: 7
* Memory limit: 15757 MB
Here's the build session:
[peter@cube jdk9-dev]$ make CONF=linux-x86_64-normal-server-release
images
Building 'linux-x86_64-normal-server-release' (matching
CONF=linux-x86_64-normal-server-release)
Building OpenJDK for target 'images' in configuration
'linux-x86_64-normal-server-release'
Compiling 1 files for BUILD_TOOLS_LANGTOOLS
Compiling 20 properties into resource bundles for jdk.compiler
Compiling 10 properties into resource bundles for jdk.javadoc
Compiling 5 properties into resource bundles for jdk.dev
Compiling 818 files for BUILD_INTERIM_LANGTOOLS
warning: [options] bootstrap class path not set in conjunction with
-source 1.6
warning: [options] bootstrap class path not set in conjunction with
-source 1.6
1 warning
1 warning
warning: [options] bootstrap class path not set in conjunction with
-source 1.6
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 warning
Warning: generation and use of skeletons and static stubs for JRMP
is deprecated. Skeletons are unnecessary, and static stubs have
been superseded by dynamically generated stubs. Users are
encouraged to migrate away from using rmic to generate skeletons and
static
stubs. See the documentation for java.rmi.server.UnicastRemoteObject.
Creating buildtools/interim_langtools.jar
Compiling 198 files for BUILD_INTERIM_RMIC
Compiling 23 files for BUILD_INTERIM_JIMAGE
Compiling 6 files for BUILD_TOOLS_CORBA
Compiling 141 files for BUILD_IDLJ
/home/peter/work/hg/jdk9-dev/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java:230:
error: cannot find symbol
LambdaForm form2 = mh.editor().filterArgumentForm(1+i,
BasicType.basicType(newType));
^
symbol: method editor()
location: variable mh of type BoundMethodHandle
/home/peter/work/hg/jdk9-dev/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java:231:
error: cannot find symbol
mh = mh.copyWithExtendL(midType, form2, fn);
^
symbol: method copyWithExtendL(MethodType,LambdaForm,MethodHandle)
location: variable mh of type BoundMethodHandle
/home/peter/work/hg/jdk9-dev/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java:250:
error: cannot find symbol
LambdaForm form2 =
mh.editor().filterReturnForm(BasicType.basicType(newType), false);
^
symbol: method editor()
location: variable mh of type BoundMethodHandle
...etc...
It seems that something changed between JDK8u20 and JDK8u25 regarding
bootclasspath handling of javac as the above errors suggest that JDK9
sources are being compiled against JDK8 classes.
Regards, Peter