bash configure - LINK : fatal error LNK1104: cannot open file ...fixpath.exe (original) (raw)
jbvernee jbvernee at xs4all.nl
Mon Jun 11 14:38:40 UTC 2018
- Previous message (by thread): RFR: JDK-8204682 Parsing for LOG=report=none is broken when combined with other keywords
- Next message (by thread): bash configure - LINK : fatal error LNK1104: cannot open file ...fixpath.exe
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello,
I've been trying to build the JDK using an msys2 toolchain, which seems to be possible according to this thread: http://mail.openjdk.java.net/pipermail/build-dev/2017-October/019862.html (although I'm not trying to use gcc, I'm using VS 15). I know it's advised to use cygwin, but I can't get that to work at all on my machine (some error about base heap offset after a fresh install. I might try troubleshooting that next...)
I'm running into the error mentioned in the subject line while running
bash configure
, namely:
LINK : fatal error LNK1104: cannot open file
'J:J:/msys64/Projects/openjdk/amber/build/windows-x86_64-normal-server-release/configure-support/bin/fixpath.exe'
I have also created a gist of the full configure log: https://gist.github.com/JornVernee/6b579e6d13d1fce306d0d370a381d1b3
Looking at this, it seems like the path is getting mangled. The correct
path is
'J:/Projects/openjdk/amber/build/windows-x86_64-normal-server-release/configure-support/bin/fixpath.exe'
But as you can see there is an extra J:/msys64
in there, which happens
to be the root of my msys2 installation (though I'm running configure in
PowerShell, and not in the included msys2 environment. Switching between
them doesn't fix the problem either though).
I thought I had traced the value of this path to the OUTPUTDIR
variable in \make\autoconf\basics.m4
, where it is created inside this
if-else block:
if test "x$CUSTOM_ROOT" != x; then
OUTPUTDIR="${CUSTOM_ROOT}/build/${CONF_NAME}"
else
OUTPUTDIR="${TOPDIR}/build/${CONF_NAME}"
fi
Where it is then used to create the CONFIGURESUPPORT_OUTPUTDIR
path
like: CONFIGURESUPPORT_OUTPUTDIR="$OUTPUTDIR/configure-support"
, and
finally the output path for fixpath.exe is constructed from that in
\make\autoconf\basics_windows.m4
:
FIXPATH_BIN="$CONFIGURESUPPORT_OUTPUTDIR/bin/fixpath.exe"
FIXPATH_DIR="$CONFIGURESUPPORT_OUTPUTDIR/fixpath"
I have tried setting the CUSTOM_ROOT
variable, but the error remained
the same. As a sanity check I rewrote the if-statement to:
`OUTPUTDIR="J:/Projects/openjdk/amber/build/${CONF_NAME}", but the error
message still remains the same.
I have also tried manually compiling fixpath.c into fixpath.exe and
placing that file into
/build/windows-x86_64-normal-server-release/configure-support/bin/
,
but the file is just ignored by the configuration script.
At this point I don't know what else I could try. So I'm wondering if anyone here has any suggestions?
Best regards, Jorn Vernee
- Previous message (by thread): RFR: JDK-8204682 Parsing for LOG=report=none is broken when combined with other keywords
- Next message (by thread): bash configure - LINK : fatal error LNK1104: cannot open file ...fixpath.exe
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]