problem with latest updates
Kurt Miller
kurt at intricatesoftware.com
Thu Apr 7 20:09:22 PDT 2011
Hi Henri,
I have submitted a correction that fixes the following build errors:
On 3/4/11 7:28 AM, Henri Gomez wrote:
> Hi to all,
>
> I see the change in mercurial and started a new build from my Jenkins CI.
> I got the following errors :
>
> [javac] /Users/henri/Documents/jenkins/data/jobs/openjdk-1.7-bsdport-i586/workspace/langtools/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java:326:
> cannot find symbol
> [javac] if (!Files.exists(path))
> [javac] ^
> [javac] symbol: method exists(Path)
> [javac] location: class Files
...
> [javac] /Users/henri/Documents/jenkins/data/jobs/openjdk-1.7-bsdport-i586/workspace/langtools/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java:376:
> cannot find symbol
> [javac] Path name = dir.getFileName();
> [javac] ^
> [javac] symbol: method getFileName()
> [javac] location: class Path
The problem is that the detection for when to use
langtools stub files wasn't complete. It can detect
if you are using a 1.6 jdk to bootstrap but it can't detect
if you are using an older 1.7 jdk to build. There is
information about how langtools build works in
Jonathan Gibbons blog page here:
http://blogs.sun.com/jjg/entry/building_javac_for_jdk7
I have expanded the test which detects for a recent jdk
so that the stub files are built if building with an older
1.7 jdk. With this fix I can now build on PPC again with
an older 1.7 jdk.
I've cc'ed the langtools list so the fix can be considered
upstream.
diff -r 1769d2cbff79 make/build.xml
--- a/make/build.xml Mon Apr 04 19:17:16 2011 -0700
+++ b/make/build.xml Thu Apr 07 22:43:27 2011 -0400
@@ -186,9 +186,14 @@
</condition>
<condition property="boot.java.provides.latest.jdk">
- <available
- ignoresystemclasses="true"
- classpath="${boot.java.home}/jre/lib/rt.jar"
classname="java.nio.file.Path"/>
+ <and>
+ <available
+ ignoresystemclasses="true"
+ classpath="${boot.java.home}/jre/lib/rt.jar"
classname="java.nio.file.Path"/>
+ <hasmethod
+ classpath="${boot.java.home}/jre/lib/rt.jar"
+ classname="java.nio.file.Path" method="getFileName"/>
+ </and>
</condition>
<condition property="bootstrap.exclude.files" value=""
else="${require.latest.jdk.files}">
Regards,
-Kurt
More information about the compiler-dev
mailing list