[PATCH] Support for building using WSL (Windows Subsystem for Linux) on Windows

Erik Joelsson erik.joelsson at oracle.com
Fri Dec 14 19:31:45 UTC 2018


On 2018-12-14 11:05, Magnus Ihse Bursie wrote:
>
>
> 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?
Trying that now.
>>>
>>> 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?

Doing that causes a new error:

d:\erik\jdk-wsl\open\src\hotspot\share\gc\shared\accessBarrierSupport.cpp 
: fatal error C1382: the PCH file 
'd:\erik\jdk-wsl\build\windows-x86_64-server-release\hotspot\variant-server\libjvm\objs\build_libjvm.pch' 
has been rebuilt since 
'd:\erik\jdk-wsl\build\windows-x86_64-server-release\hotspot\variant-server\libjvm\objs\accessBarrierSupport.obj' 
was generated. Please rebuild this object

But I think even more important is that make is not getting the error. 
The build just continues until interrupted.

>>
>> 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\...?
>
I agree, didn't look into that part.
>> /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?
>
The last one posted by Andrew: "diff15.txt".

/Erik

> /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