JarReorder and ensuing grep failing on Windows

Erik Joelsson erik.joelsson at oracle.com
Wed Mar 8 12:48:12 UTC 2017

Hello again,

I tried to build on a different version of Windows but with the latest 
Cygwin and my build failed on the grep -e '\.class$' line. The problem 
here is that the input to grep has \r\n line endings. The grep command 
works if I pipe the file through "tr -d '\r'" first.

We had a similar issue with the JDK 9 build recently which started 
failing due to the latest version of grep in Cygwin suddenly becoming 
very picky with line endings. This new grep was released recently. My 
failing version is:

$ grep --version
grep (GNU grep) 3.0
Packaged by Cygwin (3.0-2)
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Haertel and others, see 


On 2017-03-08 09:14, Erik Joelsson wrote:
> Hello Jeff,
> First of all, just so to be sure, which source did you clone? From 
> your description it sounds like it's JDK 8. If so you should be 
> cloning either http://hg.openjdk.java.net/jdk8u/jdk8u/ or 
> http://hg.openjdk.java.net/jdk8u/jdk8u-dev/
> I do not recognize your problem, but I have also never tried to build 
> 8u on Windows 10. Unfortunately I don't have access to a (working) 
> Windows 10 machine so can't try it myself. On the machines we build 8u 
> on (Windows 2008R2, which is the server version of Windows 7) we have 
> never seen this problem. We also have a pretty old version of Cygwin 
> at this point.
> /Erik
> On 2017-03-07 20:47, Jeff Berkowitz wrote:
>> Hi, I'm attempting to build OpenJDK on Windows 10 using VS 2010 
>> Developer
>> Edition. I'm working in cygwin and have reviewed the docs and various 
>> blog
>> posts in an effort to "follow the rules".
>> My difficulty: around line 268 of CreateJars.gmk, the makefile runs a 
>> "grep
>> -e \.class ..." command intended to select lines from a list of jar file
>> names contained in a file. The build fails because this grep exits 
>> code 1
>> indicating that it matched no lines.
>> Further investigation shows the file contains lines like this:
>> com\oracle\net\Sdb
>> With no ".class" extension on the file names.
>> We tried clearing the global Windows property "Hide files with known
>> extensions" but no help. I put quick hack in the file to stick 
>> ".class" on
>> the end of every line. The grep then matched some lines and exited 
>> code 0,
>> but other errors ensued. I could explore these, but understanding why 
>> none
>> of the filenames in the file were not matched (i.e. not in the expected
>> format) in the first place seems like a better approach.
>> I'm continuing to work on this but any help would be appreciated. 
>> Thanks so
>> much in advance.
>> Jeff Berkowitz
>> New Relic.

More information about the build-dev mailing list