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