Configure fails to create fixpath.exe when running in WSL
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Mon May 4 12:38:33 UTC 2020
On 2020-05-02 23:19, Ludovic HOCHET wrote:
> Running configure in an Ubuntu on WSL1 on Windows 2004
> (10.0.19041.208), it fails to create fixpath.exe in its expected
> location.
> After some search it seems that wslpath -m
> /mnt/e/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe
> fails since the path does not exist (wslpath:
> /mnt/e/jdk/build/windows-x86_64-server-release/configure-support/bin/fixpath.exe:
> No such file or directory).
>
> A workaround is to:
> diff --git a/make/autoconf/basic_windows.m4 b/make/autoconf/basic_windows.m4
> index 11fb231d825..f87c5344c45 100644
> --- a/make/autoconf/basic_windows.m4
> +++ b/make/autoconf/basic_windows.m4
> @@ -143,7 +143,8 @@ AC_DEFUN_ONCE([BASIC_COMPILE_FIXPATH],
> $RM -rf $FIXPATH_BIN $FIXPATH_DIR
> $MKDIR -p $FIXPATH_DIR $CONFIGURESUPPORT_OUTPUTDIR/bin
> cd $FIXPATH_DIR
> - $CC $FIXPATH_SRC_W -Fe$FIXPATH_BIN_W > $FIXPATH_DIR/fixpath1.log 2>&1
> + $CC $FIXPATH_SRC_W > $FIXPATH_DIR/fixpath1.log 2>&1
> + mv fixpath.exe $FIXPATH_BIN
> cd $CONFIGURE_START_DIR
>
> if test ! -x $FIXPATH_BIN; then
>
>
>
I'm a bit surprised that you need this fix. I have a patchset that I'm
working on to improve WSL support, but it does not include anything like
this.
I think this is rather an effect of problems with permissions and/or
correct mount type. Did you follow the instructions in building.md?
"If building Windows binaries, the source code must be located in a Windows-
accessible directory. This is because Windows executables (such as
Visual Studio
and the boot JDK) must be able to access the source code. Also, the
drive where
the source is stored must be mounted as case-insensitive by changing either
/etc/fstab or /etc/wsl.conf in WSL. Individual directories may be corrected
using the fsutil tool in case the source was cloned before changing the
mount
options."
/Magnus
More information about the build-dev
mailing list