[PATCH] Support for building using WSL (Windows Subsystem for Linux) on Windows
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Fri Dec 14 19:05:33 UTC 2018
On 2018-12-14 19:41, Erik Joelsson wrote:
>
> On 2018-12-14 10:28, Magnus Ihse Bursie wrote:
>>
>>
>> On 2018-12-14 19:23, Erik Joelsson wrote:
>>> Hello,
>>>
>>> I took your patch for a spin, and configure passes, but I get the
>>> same build error I got with my patch:
>>>
>>> fatal error C1083: Cannot open compiler intermediate file:
>>> 'd:\erik\jdk-wsl\build\windows-x86_64-server-release\hotspot\variant-server\libjvm\objs\build_libjvm.pch':
>>> No such file or directory
>>>
>>> This is repeated for every C++ file in Hotspot. I see two issues
>>> here. First of all, I need to figure out why the compiler will not
>>> find the file, which is clearly there. Second, why isn't this
>>> failure picked up by make? Somewhere the return value of cl.exe is
>>> disappearing.
>>
>> Can you build without errors if you disable PCH?
Could you? That is, is it only the PCH that is problematic?
>>
>> Also, a wild guess: can it be related to file permissions? Can you
>> read the file properly from both WSL and Windows?
>>
> It is readable, but it could be something with case. The file is
> actually called BUILD_LIBJVM.pch, but that is also how it's given to
> the compiler command line. Here is the output from DEBUG_FIXPATH:
Weird. What if you, after a failed build, rename it to build_libjvm.pch?
>
> Compiling ad_x86_expand.cpp (for jvm.dll)
> fixpath input line
> >-wsl\build\windows-x86_64-server-release\configure-support\bin\fixpath.exe
> -w
This starts out quite odd..? -wsl\build\...?
> /mnt/c/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/1416~1.270/bin/Hostx86/x64/cl.exe
Also, FWIW, this seems not to have been properly case treated. Which
version of the patch are you using?
/Magnus
> -showIncludes
> -Fp/mnt/d/erik/jdk-wsl/build/windows-x86_64-server-release/hotspot/variant-server/libjvm/objs/BUILD_LIBJVM.pch
> -Yuprecompiled.hpp -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
> -D__STDC_CONSTANT_MACROS -DNOMINMAX -DWIN32_LEAN_AND_MEAN -nologo -MD
> -MP -D_WINDOWS -DWIN32 -D_JNI_IMPLEMENTATION_ -W3 -DVM_LITTLE_ENDIAN
> -D_LP64=1 -DPRODUCT -DTARGET_ARCH_x86 -DINCLUDE_SUFFIX_OS=_windows
> -DINCLUDE_SUFFIX_CPU=_x86 -DINCLUDE_SUFFIX_COMPILER=_visCPP
> -DTARGET_COMPILER_visCPP -DAMD64 "-DHOTSPOT_LIB_ARCH=\"amd64\""
> -DCOMPILER1 -DCOMPILER2 -DINCLUDE_ZGC=0
> -I/mnt/d/erik/jdk-wsl/build/windows-x86_64-server-release/hotspot/variant-server/gensrc/adfiles
> -I/mnt/d/erik/jdk-wsl/closed/src/hotspot/share
> -I/mnt/d/erik/jdk-wsl/open/src/hotspot/share
> -I/mnt/d/erik/jdk-wsl/open/src/hotspot/os/windows
> -I/mnt/d/erik/jdk-wsl/open/src/hotspot/cpu/x86
> -I/mnt/d/erik/jdk-wsl/open/src/hotspot/os_cpu/windows_x86
> -I/mnt/d/erik/jdk-wsl/build/windows-x86_64-server-release/hotspot/variant-server/gensrc
> -I/mnt/d/erik/jdk-wsl/open/src/hotspot/share/precompiled
> -I/mnt/d/erik/jdk-wsl/open/src/hotspot/share/include
> -I/mnt/d/erik/jdk-wsl/open/src/hotspot/os/windows/include
> -I/mnt/d/erik/jdk-wsl/build/windows-x86_64-server-release/support/modules_include/java.base
> -I/mnt/d/erik/jdk-wsl/build/windows-x86_64-server-release/support/modules_include/java.base/win32
> -I/mnt/d/erik/jdk-wsl/open/src/java.base/share/native/libjimage -Z7
> -d2Zi+ -wd4800 -WX
> -I/mnt/c/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/1416~1.270/atlmfc/include
> -I/mnt/c/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/1416~1.270/include
> -I/mnt/c/PROGRA~2/WI3CF2~1/10/Include/100177~1.0/ucrt
> -I/mnt/c/PROGRA~2/WI3CF2~1/10/Include/100177~1.0/shared
> -I/mnt/c/PROGRA~2/WI3CF2~1/10/Include/100177~1.0/um
> -I/mnt/c/PROGRA~2/WI3CF2~1/10/Include/100177~1.0/winrt
> -I/mnt/c/PROGRA~2/WI3CF2~1/10/Include/100177~1.0/cppwinrt -O2 -Oy-
> "-DTHIS_FILE=\"\"" -c
> -Fo/mnt/d/erik/jdk-wsl/build/windows-x86_64-server-release/hotspot/variant-server/libjvm/objs/ad_x86_expand.obj
> /mnt/d/erik/jdk-wsl/build/windows-x86_64-server-release/hotspot/variant-server/gensrc/adfiles/ad_x86_expand.cpp<
>
> fixpath using wsl mode, with path list:
> fixpath converted line
> >c:/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/1416~1.270/bin/Hostx86/x64/cl.exe
> -showIncludes
> -Fpd:/erik/jdk-wsl/build/windows-x86_64-server-release/hotspot/variant-server/libjvm/objs/BUILD_LIBJVM.pch
> -Yuprecompiled.hpp -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
> -D__STDC_CONSTANT_MACROS -DNOMINMAX -DWIN32_LEAN_AND_MEAN -nologo -MD
> -MP -D_WINDOWS -DWIN32 -D_JNI_IMPLEMENTATION_ -W3 -DVM_LITTLE_ENDIAN
> -D_LP64=1 -DPRODUCT -DTARGET_ARCH_x86 -DINCLUDE_SUFFIX_OS=_windows
> -DINCLUDE_SUFFIX_CPU=_x86 -DINCLUDE_SUFFIX_COMPILER=_visCPP
> -DTARGET_COMPILER_visCPP -DAMD64 "-DHOTSPOT_LIB_ARCH=\"amd64\""
> -DCOMPILER1 -DCOMPILER2 -DINCLUDE_ZGC=0
> -Id:/erik/jdk-wsl/build/windows-x86_64-server-release/hotspot/variant-server/gensrc/adfiles
> -Id:/erik/jdk-wsl/closed/src/hotspot/share
> -Id:/erik/jdk-wsl/open/src/hotspot/share
> -Id:/erik/jdk-wsl/open/src/hotspot/os/windows
> -Id:/erik/jdk-wsl/open/src/hotspot/cpu/x86
> -Id:/erik/jdk-wsl/open/src/hotspot/os_cpu/windows_x86
> -Id:/erik/jdk-wsl/build/windows-x86_64-server-release/hotspot/variant-server/gensrc
> -Id:/erik/jdk-wsl/open/src/hotspot/share/precompiled
> -Id:/erik/jdk-wsl/open/src/hotspot/share/include
> -Id:/erik/jdk-wsl/open/src/hotspot/os/windows/include
> -Id:/erik/jdk-wsl/build/windows-x86_64-server-release/support/modules_include/java.base
> -Id:/erik/jdk-wsl/build/windows-x86_64-server-release/support/modules_include/java.base/win32
> -Id:/erik/jdk-wsl/open/src/java.base/share/native/libjimage -Z7 -d2Zi+
> -wd4800 -WX
> -Ic:/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/1416~1.270/atlmfc/include
> -Ic:/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/1416~1.270/include
> -Ic:/PROGRA~2/WI3CF2~1/10/Include/100177~1.0/ucrt
> -Ic:/PROGRA~2/WI3CF2~1/10/Include/100177~1.0/shared
> -Ic:/PROGRA~2/WI3CF2~1/10/Include/100177~1.0/um
> -Ic:/PROGRA~2/WI3CF2~1/10/Include/100177~1.0/winrt
> -Ic:/PROGRA~2/WI3CF2~1/10/Include/100177~1.0/cppwinrt -O2 -Oy-
> "-DTHIS_FILE=\"\"" -c
> -Fod:/erik/jdk-wsl/build/windows-x86_64-server-release/hotspot/variant-server/libjvm/objs/ad_x86_expand.obj
> d:/erik/jdk-wsl/build/windows-x86_64-server-release/hotspot/variant-server/gensrc/adfiles/ad_x86_expand.cpp<
>
>
> An interesting note is that make is rebuilding the pch file on every
> invocation so it too has trouble finding the file.
>
> /Erik
>
More information about the build-dev
mailing list