Try this updated patch with some fixes...
Thanks,
-Andrew
-----Original Message-----
From: build-dev <[email protected]> On Behalf Of Andrew Luo
Sent: Friday, December 14, 2018 12:01 PM
To: Magnus Ihse Bursie <[email protected]>; Erik Joelsson
<[email protected]>
Cc: [email protected]
Subject: RE: [PATCH] Support for building using WSL (Windows Subsystem for
Linux) on Windows
I think I have a fix for it. Give me a minute (or a few hours depending on if
it works).
Thanks,
-Andrew
-----Original Message-----
From: Magnus Ihse Bursie <[email protected]>
Sent: Friday, December 14, 2018 11:42 AM
To: Erik Joelsson <[email protected]>
Cc: Andrew Luo <[email protected]>; [email protected]
Subject: Re: [PATCH] Support for building using WSL (Windows Subsystem for
Linux) on Windows
> 14 dec. 2018 kl. 20:31 skrev Erik Joelsson <[email protected]>:
>
>
>> 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\varia
>>>>> nt-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-s
> erver\libjvm\objs\build_libjvm.pch' has been rebuilt since
> 'd:\erik\jdk-wsl\build\windows-x86_64-server-release\hotspot\variant-s
> erver\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.
Agree, that's bad.
Does fixpath_debug print exit code? If so, what does it say? If not, we should
add that instrumentation.
/Magnus
>
>>>
>>> Compiling ad_x86_expand.cpp (for jvm.dll) fixpath input line
>>> >-wsl\build\windows-x86_64-server-release\configure-support\bin\fixp
>>> ath.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/v
>>> ariant-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/va
>>> riant-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/va
>>> riant-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/mo
>>> dules_include/java.base
>>> -I/mnt/d/erik/jdk-wsl/build/windows-x86_64-server-release/support/mo
>>> dules_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/at
>>> lmfc/include
>>> -I/mnt/c/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/1416~1.270/in
>>> clude -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/v
>>> ariant-server/libjvm/objs/ad_x86_expand.obj
>>> /mnt/d/erik/jdk-wsl/build/windows-x86_64-server-release/hotspot/vari
>>> ant-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/Hos
>>> tx86/x64/cl.exe -showIncludes
>>> -Fpd:/erik/jdk-wsl/build/windows-x86_64-server-release/hotspot/varia
>>> nt-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/varian
>>> t-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/varian
>>> t-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/module
>>> s_include/java.base
>>> -Id:/erik/jdk-wsl/build/windows-x86_64-server-release/support/module
>>> s_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/includ
>>> e -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/varia
>>> nt-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
>>
ÿþd i f f - r 4 b e f 1 9 5 7 a 1 d 8 m a k e / I m a g e s . g m k
- - - a / m a k e / I m a g e s . g m k T h u N o v 2 2
1 0 : 1 5 : 3 2 2 0 1 8 - 0 8 0 0
+ + + b / m a k e / I m a g e s . g m k F r i D e c 1 4
1 2 : 3 1 : 4 3 2 0 1 8 - 0 8 0 0
@ @ - 9 9 , 7 + 9 9 , 7 @ @
)
i f e q ( $ ( B U I L D _ C D S _ A R C H I V E ) ,
t r u e )
$ ( c a l l L o g W a r n , C r e a t i n g C D S
a r c h i v e f o r j d k i m a g e )
- $ ( J D K _ I M A G E _ D I R ) / b i n / j a v a
- X s h a r e : d u m p - X m x 1 2 8 M - X m s 1 2 8 M
$ ( L O G _ I N F O )
+
$ ( J D K _ I M A G E _ D I R ) / b i n / j a v a $ ( E X E _ S U F F I X )
- X s h a r e : d u m p - X m x 1 2 8 M - X m s 1 2 8 M
$ ( L O G _ I N F O )
e n d i f
$ ( T O U C H ) $ @
@ @ - 1 1 4 , 7 + 1 1 4 , 7 @ @
)
i f e q ( $ ( B U I L D _ C D S _ A R C H I V E ) ,
t r u e )
$ ( c a l l L o g W a r n , C r e a t i n g C D S
a r c h i v e f o r j r e i m a g e )
- $ ( J R E _ I M A G E _ D I R ) / b i n / j a v a
- X s h a r e : d u m p - X m x 1 2 8 M - X m s 1 2 8 M
$ ( L O G _ I N F O )
+
$ ( J R E _ I M A G E _ D I R ) / b i n / j a v a $ ( E X E _ S U F F I X )
- X s h a r e : d u m p - X m x 1 2 8 M - X m s 1 2 8 M
$ ( L O G _ I N F O )
e n d i f
$ ( T O U C H ) $ @
d i f f - r 4 b e f 1 9 5 7 a 1 d 8
m a k e / a u t o c o n f / b a s i c s . m 4
- - - a / m a k e / a u t o c o n f / b a s i c s . m 4 T h u N o v
2 2 1 0 : 1 5 : 3 2 2 0 1 8 - 0 8 0 0
+ + + b / m a k e / a u t o c o n f / b a s i c s . m 4 F r i D e c
1 4 1 2 : 3 1 : 4 3 2 0 1 8 - 0 8 0 0
@ @ - 2 2 3 , 6 + 2 2 3 , 8 @ @
B A S I C _ F I X U P _ P A T H _ C Y G W I N ( $ 1 )
e l i f t e s t "