Lambda does not compile against JDK8 binary snapshot as boot JDK
Eric Caspole
eric.caspole at amd.com
Tue Nov 27 09:51:33 PST 2012
Hi everybody,
As Remi said, this problem does not happen anymore, but I fixed the
javac imports anyway which seemed worthwhile. I am not sure if this is
the right list for javac mods but maybe you can suggest how to proceed.
http://cr.openjdk.java.net/~ecaspole/javac_imports/webrev.00/
Thanks,
Eric
On 11/15/2012 11:05 AM, Remi Forax wrote:
> On 11/15/2012 04:55 PM, 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
>>
>> Regards,
>> Eric
>
> Classical import * bug.
> BTW, java.util.Mapping was removed very recently, so it should work again.
>
> Rémi
>
>>
>> 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