Lambda does not compile against JDK8 binary snapshot as boot JDK

Caspole, Eric Eric.Caspole at amd.com
Thu Nov 15 07:55:54 PST 2012


Hi lambda people,
I seem to have found a problem when using the last week's lamdba binary snapshot as the boot JDK for the build. The build works fine if the boot JDK is 7u9. I don't think I ever tried this combination before.

Looks like there is a new java.util.Mapping in 8. So I think the guilty thing is use of java.util.* in src/share/classes/com/sun/tools/javac/code/Types.java?

  26 package com.sun.tools.javac.code;
  27
  28 import java.lang.ref.SoftReference;
  29 import java.util.*;
  30

Regards,
Eric

Here is my build output:

ecaspole at ecaspole-desktop:~/Documents/121115/lambda/common/makefiles$ java -version
openjdk version "1.8.0-ea"
OpenJDK Runtime Environment (build 1.8.0-ea-lambda-nightly-h1745-20121105-b64-b00)
OpenJDK 64-Bit Server VM (build 25.0-b05, mixed mode)

====================================================
A new configuration has been successfully created in
/home/ecaspole/Documents/121115/lambda/build/linux-x86_64-normal-server-release
using default settings.

Configuration summary:
* Debug level:    release
* JDK variant:    normal
* JVM variants:   server
* OpenJDK target: OS: linux, CPU architecture: x86, address length: 64
* Boot JDK:       /opt/jdk1.8.0

Build performance summary:
* Cores to use:   4
* Memory limit:   7986 MB
* ccache status:  not installed (consider installing)

...

ecaspole at ecaspole-desktop:~/Documents/121115/lambda/common/makefiles$ make images
Building OpenJDK for target 'images' in configuration 'linux-x86_64-normal-server-release'


########################################################################
########################################################################
##### Entering langtools for target(s) all                         #####
########################################################################

Compiling 2 files for BUILD_TOOLS
/home/ecaspole/Documents/121115/lambda/langtools/src/share/classes/com/sun/tools/javac/code/Types.java:1519: error: reference to Mapping is ambiguous
    private final Mapping lowerBoundMapping = new Mapping("lowerBound") {
                  ^
  both class com.sun.tools.javac.code.Type.Mapping in Type and interface java.util.Mapping in java.util match
/home/ecaspole/Documents/121115/lambda/langtools/src/share/classes/com/sun/tools/javac/code/Types.java:1633: error: reference to Mapping is ambiguous
    private Mapping elemTypeFun = new Mapping ("elemTypeFun") {
            ^
  both class com.sun.tools.javac.code.Type.Mapping in Type and interface java.util.Mapping in java.util match
/home/ecaspole/Documents/121115/lambda/langtools/src/share/classes/com/sun/tools/javac/code/Types.java:1943: error: reference to Mapping is ambiguous
    private Mapping erasureFun = new Mapping ("erasure") {
            ^
  both class com.sun.tools.javac.code.Type.Mapping in Type and interface java.util.Mapping in java.util match
/home/ecaspole/Documents/121115/lambda/langtools/src/share/classes/com/sun/tools/javac/code/Types.java:1947: error: reference to Mapping is ambiguous
    private Mapping erasureRecFun = new Mapping ("erasureRecursive") {
            ^
  both class com.sun.tools.javac.code.Type.Mapping in Type and interface java.util.Mapping in java.util match
/home/ecaspole/Documents/121115/lambda/langtools/src/share/classes/com/sun/tools/javac/code/Types.java:2802: error: reference to Mapping is ambiguous
    static private Mapping newInstanceFun = new Mapping("newInstanceFun") {
                   ^
  both class com.sun.tools.javac.code.Type.Mapping in Type and interface java.util.Mapping in java.util match
/home/ecaspole/Documents/121115/lambda/langtools/src/share/classes/com/sun/tools/javac/code/Types.java:1519: error: reference to Mapping is ambiguous
    private final Mapping lowerBoundMapping = new Mapping("lowerBound") {
                                                  ^
  both class com.sun.tools.javac.code.Type.Mapping in Type and interface java.util.Mapping in java.util match
/home/ecaspole/Documents/121115/lambda/langtools/src/share/classes/com/sun/tools/javac/code/Types.java:1633: error: reference to Mapping is ambiguous
    private Mapping elemTypeFun = new Mapping ("elemTypeFun") {
                                      ^
  both class com.sun.tools.javac.code.Type.Mapping in Type and interface java.util.Mapping in java.util match
/home/ecaspole/Documents/121115/lambda/langtools/src/share/classes/com/sun/tools/javac/code/Types.java:1943: error: reference to Mapping is ambiguous
    private Mapping erasureFun = new Mapping ("erasure") {
                                     ^
  both class com.sun.tools.javac.code.Type.Mapping in Type and interface java.util.Mapping in java.util match
/home/ecaspole/Documents/121115/lambda/langtools/src/share/classes/com/sun/tools/javac/code/Types.java:1947: error: reference to Mapping is ambiguous
    private Mapping erasureRecFun = new Mapping ("erasureRecursive") {
                                        ^
  both class com.sun.tools.javac.code.Type.Mapping in Type and interface java.util.Mapping in java.util match
/home/ecaspole/Documents/121115/lambda/langtools/src/share/classes/com/sun/tools/javac/code/Types.java:2802: error: reference to Mapping is ambiguous
    static private Mapping newInstanceFun = new Mapping("newInstanceFun") {
                                                ^
  both class com.sun.tools.javac.code.Type.Mapping in Type and interface java.util.Mapping in java.util match
10 errors
make[1]: *** No rule to make target `all', needed by `default'.  Stop.
make: *** [langtools-only] Error 2



More information about the lambda-dev mailing list