something wrong with hotspot builds in build-infra
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Wed Oct 17 12:33:19 PDT 2012
On 2012-10-17 18:11, Kelly O'Hair wrote:
> Something called fixpath.exe is failing when doing the adlc.make nmake makefile in hotspot.
>
>
"fixpath" is the new name of "uncygdrive", since it now supports msys as
well as cygwin. It will take a path such as /cygdrive/c/mydir [cygwin]
or /c/mydir [msys] and convert it to c:\mydir, and then it will call the
executable named as the first (non-option) argument.
So basically on cygwin configure will set
CC=/cygdrive/c/mydir/build/fixpath.exe -c /cygdrive/c/msdev/bin/cl.exe
The -c to fixpath means "use cygwin mode".
I've seen build problems before with hotspot producing compile lines
where fixpath is missing the first argument to
/cygdrive/c/msdev/bin/cl.exe, so it seems we're trying to compile with
fixpath. This has typically been due to a problem of properly locating
the cl.exe compiler. Can you check the configure output and see if
cl.exe have been located and found in the proper place?
However, after the msys fixes, we now start with an argument -c or -m,
but this seems to be missing as well here, which seems very strange. Do
you have some mismatch between the hotspot repo and the top-level repo?
If you look at the generated spec.gmk, what does the line CC say?
> This never was an issue before, what has changed here?
I'm guessing either msys support or the cl.exe dection rewrite.
>
> This failure will hold up any integration of the build-infra work into jdk8/build
I realize that. Overall, I feel that we have a sub-optimal workflow for
pushing stuff into mainline. For pushing to mainline, we should declare
a point in the source code at which we think the code is good enough to
go into mainline, try it out on JPRT, make a webrev, and then only make
changes that are needed to fix issues found by JPRT or the code review.
On the other hand, we still need to keep development going, and since
the producure above can take days or in worst case weeks, like the
latest round, we can't just freeze build-infra.
I don't have a good suggestion here. Is it possible to work with
branches in mercurial? Can we set a tag in mercurial and then work with
a set of patches for the changes needed from that tag?
/Magnus
More information about the build-infra-dev
mailing list