Lambda does not compile against JDK8 binary snapshot as boot JDK

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Thu Nov 15 08:09:48 PST 2012


On 15/11/12 15:55, Caspole, Eric wrote:
> 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
Ouch - I agree the import should be modified.

Maurizio
>
> 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