[PATCH] Support for building using WSL (Windows Subsystem for Linux) on Windows
Thomas Stüfe
thomas.stuefe at gmail.com
Wed Jan 16 19:06:10 UTC 2019
Neat! Thank you.
..Thomas
On Wed, Jan 16, 2019 at 5:36 PM Erik Joelsson <erik.joelsson at oracle.com>
wrote:
> Build support is in and you should be able to follow the documentation in
> doc/building.md. Test support is still waiting on a jtreg release and a
> patch to use it, but even with that, there are tests (at least shell tests)
> that will not work properly.
>
> /Erik
> On 2019-01-16 00:49, Thomas Stüfe wrote:
>
> Hi guys,
>
> Just wanted to know what the state is. Did you already add the support for
> WSL or is this still WIP? If it should work, is there a documentation
> somewhere I could follow?
>
> Thank you!
>
> Thomas
>
>
> On Sat, Dec 22, 2018 at 4:55 AM Andrew Luo <
> andrewluotechnologies at outlook.com> wrote:
>
>> Just wanted to update the thread with the issues we discovered with WSL
>> while adding support to the OpenJDK build system. I reported these issues
>> to the WSL team for all except for one of the bugs, which I'm still
>> investigating.
>>
>> GenerateCurrencyData.java - issue with Properties.load(System.in):
>> https://github.com/Microsoft/WSL/issues/3723
>> Issue with directly calling cmd.exe to transform long path to short path:
>> https://github.com/Microsoft/WSL/issues/3724
>> Calling from Linux to Win32 with untransformable Linux paths in a WSLENV
>> path environment variable causes extra output:
>> https://github.com/Microsoft/WSL/issues/3725
>> Spp.java - still investigating this
>>
>> Thanks,
>>
>> -Andrew
>>
>> -----Original Message-----
>> From: Erik Joelsson <erik.joelsson at oracle.com>
>> Sent: Thursday, December 20, 2018 1:51 AM
>> To: Andrew Luo <andrewluotechnologies at outlook.com>; Magnus Ihse Bursie <
>> magnus.ihse.bursie at oracle.com>
>> Cc: build-dev at openjdk.java.net
>> Subject: Re: [PATCH] Support for building using WSL (Windows Subsystem
>> for Linux) on Windows
>>
>> I've updated and two builds in a row have now succeeded. I will keep
>> running, but it does seem likely that the new version has fixed the issue.
>>
>> /Erik
>>
>> On 2018-12-20 09:44, Erik Joelsson wrote:
>> > Hello,
>> >
>> > On 2018-12-19 19:40, Andrew Luo wrote:
>> >> Hi Erik,
>> >>
>> >> Which target are you using (make exploded-image?)? I never saw this
>> >> error while building on my machine (I've built about 10 times now,
>> >> I'm on Windows 10 1809 for what it's worth). Perhaps I can try to
>> >> reproduce this on my system as well...
>> >
>> > The target doesn't really matter that much, it's failing when building
>> > java modules, so exploded-image should reproduce it. I have built
>> > successfully as well, so this only happens intermittently. Here is the
>> > environment string from my system:
>> >
>> > WSL version Ubuntu 16.04.4 LTS #471-Microsoft Fri Dec 07 20:04:00 PST
>> > 2018 4.4.0-17134-Microsoft (on Windows build 10.0.17134.471)
>> >
>> > In System about, it identifies itself as Windows 10 Pro 1803, so that
>> > looks older than yours. I will see if I can update.
>> >
>> > I should also note that deleting build output is not necessary (and
>> > probably not affecting) success or failure on rebuild. From what I can
>> > see what happens is: make runs the find command to find all java
>> > source files and puts that list of files as prerequisites to the java
>> > compile rule, then when evaluating the rule, it sometimes fails to
>> > resolve a file. This would seem like a bug in the filesystem to me.
>> >
>> > /Erik
>> >
>> >> Thanks,
>> >>
>> >> -Andrew
>> >>
>> >> -----Original Message-----
>> >> From: Erik Joelsson <erik.joelsson at oracle.com>
>> >> Sent: Wednesday, December 19, 2018 8:28 AM
>> >> To: Andrew Luo <andrewluotechnologies at outlook.com>; Magnus Ihse
>> >> Bursie <magnus.ihse.bursie at oracle.com>
>> >> Cc: build-dev at openjdk.java.net
>> >> Subject: Re: [PATCH] Support for building using WSL (Windows
>> >> Subsystem for Linux) on Windows
>> >>
>> >> I'm now seeing intermittent build failures that look like this:
>> >>
>> >> make[3]: *** No rule to make target
>> >> '/mnt/d/erik/jdk-sandbox/open/src/java.security.jgss/share/classes/su
>> >> n/security/krb5/internal/TGSReq.java',
>> >>
>> >> needed by
>> >>
>> '/mnt/d/erik/jdk-sandbox/build/windows-x86_64-server-release/jdk/modules/java.security.jgss/_the.java.security.jgss_batch'.
>>
>> >>
>> >> Stop.
>> >>
>> >> The particular file that's missing varies, and deleting the output
>> >> dir for that module and rebuild works. The common pattern seems to be
>> >> upper case letters in the file name of the source file.
>> >>
>> >> I will investigate some more.
>> >>
>> >> /Erik
>> >>
>> >> On 2018-12-19 06:18, Erik Joelsson wrote:
>> >>> I can also report that on the Windows 10 machine I'm testing this
>> >>> on, "make bundles" on Cygwin took 12m56s and in WSL 8m39s, so a
>> >>> pretty big improvement!
>> >>>
>> >>> /Erik
>> >>>
>> >>> On 2018-12-19 03:45, Erik Joelsson wrote:
>> >>>> Hello,
>> >>>>
>> >>>> On 2018-12-19 00:19, Erik Joelsson wrote:
>> >>>>> Hello Andrew,
>> >>>>>
>> >>>>> On 2018-12-18 12:45, Andrew Luo wrote:
>> >>>>>> Hi Erik/Magnus,
>> >>>>>>
>> >>>>>> I've attached my latest changes:
>> >>>>>>
>> >>>>>> 1. Fixed a file I forgot to revert in my previous change while
>> >>>>>> trying something out...
>> >>>>>> 2. Added information about case sensitivity of the OpenJDK build
>> >>>>>> directory (yes, I did use the make target to generate the HTML
>> >>>>>> file) 3. Fixed Cygwin (hopefully, I don't have a Cygwin
>> >>>>>> environment to verify this)
>> >>>>> I will take this patch for a spin and see.
>> >>>>>
>> >>>> After applying a fix for
>> >>>> https://bugs.openjdk.java.net/browse/JDK-8215635, I managed to
>> >>>> build everything as well. I pushed some minor adjustments to make
>> >>>> Cygwin work too.
>> >>>>
>> >>>> I will need to take this through more thorough testing.
>> >>>>
>> >>>> /Erik
>> >>>>
>> >>>>>> With this patch I've tested the following targets:
>> >>>>>> exploded-image (default): Works
>> >>>>>> images: Works
>> >>>>>> bundles: Works
>> >>>>>> test: Completes, but some tests fail.
>> >>>>>>
>> >>>>>> I didn't go through the test failures completely, but all of the
>> >>>>>> ones I did see are due to attempting to call CreateProcess with
>> >>>>>> "sh" as the argument (in jtreg:
>> >>>>>>
>> http://hg.openjdk.java.net/code-tools/jtreg/file/36c592d2f544/src/share/classes/com/sun/javatest/regtest/exec/ShellAction.java).
>>
>> >>>>>>
>> >>>>>> This isn't supported in Windows, perhaps using a Linux boot JDK
>> >>>>>> would fix this (but might break other things). I can look into
>> >>>>>> fixing it (on WSL you can call "wsl sh", for example), but I
>> >>>>>> think since it's a completely separate repo anyways, it would be
>> >>>>>> best to take up those changes separately. Let me know your
>> >>>>>> thoughts on this.
>> >>>>> Ah, if a Java process is launched from a Cygwin environment, it
>> >>>>> will have the unix/cygwin tools in the path so those can be
>> >>>>> launched directly. When running in WSL, it will launch the Windows
>> >>>>> binary java.exe in the Windows environment so there is no trace of
>> >>>>> WSL. I agree that we can look into this later, but we need to note
>> >>>>> that running tests is not completely supported in WSL.
>> >>>>>
>> >>>>> /Erik
>> >>>>>
>> >>>>>> Otherwise, let me know if there is any other comments/suggestions
>> >>>>>> before we can merge this into the main repository.
>> >>>>>>
>> >>>>>> Thanks,
>> >>>>>>
>> >>>>>> -Andrew
>> >>>>>>
>> >>>>>> -----Original Message-----
>> >>>>>> From: Erik Joelsson <erik.joelsson at oracle.com>
>> >>>>>> Sent: Monday, December 17, 2018 9:52 AM
>> >>>>>> To: Andrew Luo <andrewluotechnologies at outlook.com>; Magnus Ihse
>> >>>>>> Bursie <magnus.ihse.bursie at oracle.com>
>> >>>>>> Cc: build-dev at openjdk.java.net
>> >>>>>> Subject: Re: [PATCH] Support for building using WSL (Windows
>> >>>>>> Subsystem for Linux) on Windows
>> >>>>>>
>> >>>>>> Hello Andrew,
>> >>>>>>
>> >>>>>> On 2018-12-16 00:01, Andrew Luo wrote:
>> >>>>>>> For me, /mnt/c was already mounted case insensitive. Maybe this
>> >>>>>>> is only the default for the C:\ drive though (or perhaps depends
>> >>>>>>> on your Windows/WSL version?)
>> >>>>>> I think the default is "dir", which will cause any new directory
>> >>>>>> created from WSL to be case sensitive, so I would say this needs
>> >>>>>> to be documented in building.md.
>> >>>>>>> Anyways, I've synced down the sandbox and added a new patch to
>> >>>>>>> address some of the feedback (and some of my own minor
>> >>>>>>> enhancements):
>> >>>>>>>
>> >>>>>>> 1. Got rid of EXECUTABLE_SUFFIX in favor of EXE_SUFFIX, which
>> >>>>>>> had to move earlier in the sequence 2. Use $EXE_SUFFIX instead
>> >>>>>>> of .exe literal per Magnus' feedback 3. Added information about
>> >>>>>>> WSL versioning to build, similar to Cygwin 4. Updated
>> >>>>>>> building.md and building.html with WSL build instructions
>> >>>>>> Nice! I've applied and pushed this patch to the sandbox. Just to
>> >>>>>> be sure, did you generate the html version with pandoc using
>> >>>>>> "make update-build-docs"? If not, we will need to make sure that
>> >>>>>> is done before the final push.
>> >>>>>>
>> >>>>>> I noticed trailing whitespace in some files. Jcheck will reject
>> >>>>>> that in most types of files but in the build, we are a bit on our
>> >>>>>> own trying to avoid it.
>> >>>>>>
>> >>>>>>> (By the way, you misspelled my name in your sandbox commit):
>> >>>>>>> http://hg.openjdk.java.net/jdk/sandbox/rev/12615de8335e
>> >>>>>> Terribly sorry about that! The combination of u and o is a common
>> >>>>>> slip for me on the keyboard. It's correct in the new commit at
>> >>>>>> least, and in the final commit, contributors are attributed with
>> >>>>>> email addresses.
>> >>>>>>> I will work on fixing the Cygwin path extraction in my next patch.
>> >>>>>>> Most likely I will just restore the old code for Cygwin while
>> >>>>>>> using the new code for WSL, unless there are other suggestions...
>> >>>>>>> Aside from this, is there any other feedback that I should take
>> >>>>>>> into account before we can merge this into the main repository?
>> >>>>>> That may be the best solution.
>> >>>>>>
>> >>>>>> I tried to build some more targets and failed. Please make sure
>> >>>>>> you can do "make bundles". That will build docs and tests in
>> >>>>>> addition to just the product and also do the packaging into
>> >>>>>> zip/tar.gz. It would also be nice if "make test" worked.
>> >>>>>>
>> >>>>>> Note that Magnus is now on vacation and I will be traveling, so
>> >>>>>> you will not hear from me until Wednesday.
>> >>>>>>
>> >>>>>> /Erik
>> >>>>>>
>> >>>>>>> Thanks,
>> >>>>>>>
>> >>>>>>> -Andrew
>> >>>>>>>
>> >>>>>>> -----Original Message-----
>> >>>>>>> From: Erik Joelsson <erik.joelsson at oracle.com>
>> >>>>>>> Sent: Friday, December 14, 2018 5:42 PM
>> >>>>>>> To: Andrew Luo <andrewluotechnologies at outlook.com>; Magnus Ihse
>> >>>>>>> Bursie <magnus.ihse.bursie at oracle.com>
>> >>>>>>> Cc: build-dev at openjdk.java.net
>> >>>>>>> Subject: Re: [PATCH] Support for building using WSL (Windows
>> >>>>>>> Subsystem for Linux) on Windows
>> >>>>>>>
>> >>>>>>> After having configured my WSL to mount using case=off, I was
>> >>>>>>> able to successfully build images using the latest patch as
>> >>>>>>> applied in the sandbox.
>> >>>>>>>
>> >>>>>>> /Erik
>> >>>>>>>
>> >>>>>>> On 2018-12-14 17:23, Erik Joelsson wrote:
>> >>>>>>>> Hello again,
>> >>>>>>>>
>> >>>>>>>> I took the liberty of creating a bug for this and also a
>> >>>>>>>> sandbox branch where I've applied your latest patch. If you
>> >>>>>>>> clone that you can send further patches based on a known state
>> >>>>>>>> in the sandbox. This will make it easier to see what you are
>> >>>>>>>> actually doing in each update, as well as give us better
>> >>>>>>>> references when discussing them. It also gives me the ability
>> >>>>>>>> to directly change things so we can keep Cygwin/msys working.
>> >>>>>>>>
>> >>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8215445
>> >>>>>>>>
>> >>>>>>>> http://hg.openjdk.java.net/jdk/sandbox/shortlog/12615de8335e
>> >>>>>>>>
>> >>>>>>>> /Erik
>> >>>>>>>>
>> >>>>>>>> On 2018-12-14 16:47, Erik Joelsson wrote:
>> >>>>>>>>> Hello,
>> >>>>>>>>>
>> >>>>>>>>> You beat me to it. I just found the rc.exe problem was that
>> >>>>>>>>> FIXPATH_PATH in spec.gmk.in was quoted. Make just propagates
>> >>>>>>>>> quotes verbatim, so then fixpath.c would create a path
>> >>>>>>>>> variable like;
>> >>>>>>>>>
>> >>>>>>>>> $PATH;"$FIXPATH_PATH"
>> >>>>>>>>>
>> >>>>>>>>> Which is why link.exe could not find rc.exe.
>> >>>>>>>>>
>> >>>>>>>>> /Erik
>> >>>>>>>>>
>> >>>>>>>>> On 2018-12-14 16:32, Andrew Luo wrote:
>> >>>>>>>>>> Ok, here's my latest patch (I didn't add your case
>> >>>>>>>>>> sensitivity fix yet, but will do next patch). I believe this
>> >>>>>>>>>> should get you past the rc.exe issues.
>> >>>>>>>>>>
>> >>>>>>>>>> Thanks,
>> >>>>>>>>>>
>> >>>>>>>>>> -Andrew
>> >>>>>>>>>>
>> >>>>>>>>>> -----Original Message-----
>> >>>>>>>>>> From: Erik Joelsson <erik.joelsson at oracle.com>
>> >>>>>>>>>> Sent: Friday, December 14, 2018 4:15 PM
>> >>>>>>>>>> To: Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com>
>> >>>>>>>>>> Cc: Andrew Luo <andrewluotechnologies at outlook.com>;
>> >>>>>>>>>> build-dev at openjdk.java.net
>> >>>>>>>>>> Subject: Re: [PATCH] Support for building using WSL (Windows
>> >>>>>>>>>> Subsystem for Linux) on Windows
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> On 2018-12-14 16:06, Magnus Ihse Bursie wrote:
>> >>>>>>>>>>>> 14 dec. 2018 kl. 23:42 skrev Erik Joelsson
>> >>>>>>>>>>>> <erik.joelsson at oracle.com>:
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> I found the reason it's not failing make. It returns "1"
>> >>>>>>>>>>>> and NativeCompilation.gmk currently ignores 1 explicitly
>> >>>>>>>>>>>> for Visual Studio. I added that back in 2014 in
>> >>>>>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8065576, but I
>> >>>>>>>>>>>> can't figure out why. Nothing mentioned in either comment or
>> review.
>> >>>>>>>>>>> Sounds like it's ripe for removal then. :) I wonder what
>> >>>>>>>>>>> kind of issue you might have run into that caused a returned
>> >>>>>>>>>>> 1 to happen and yet we didn't want to consider it a failure...
>> >>>>>>>>>> If I'm to guess, I think it's one of the commands we pipe the
>> >>>>>>>>>> output to when the output is zero. This would explain why it
>> >>>>>>>>>> was added together with pipefail.
>> >>>>>>>>>>
>> >>>>>>>>>> /Erik
>> >>>>>>>>>>
>> >>>>>>>>>>> /Magnus
>> >>>>>>>>>>>
>> >>>>>>>>>>>> /Erik
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>> On 2018-12-14 13:59, Magnus Ihse Bursie wrote:
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>> On 2018-12-14 22:15, Erik Joelsson wrote:
>> >>>>>>>>>>>>>> I get the same error for pch and it still continues, but
>> >>>>>>>>>>>>>> this time I let it run until it eventually fails for real
>> >>>>>>>>>>>>>> when it can't link. Perhaps it's simply cl.exe that isn't
>> >>>>>>>>>>>>>> returning non zero for this error? When the linker fails,
>> >>>>>>>>>>>>>> make fails, so propagation doesn't seem broken.
>> >>>>>>>>>>>>> That does also seem really weird, considering that it
>> >>>>>>>>>>>>> claims it to be a "fatal error". Can you repeat the
>> >>>>>>>>>>>>> command at the command line and get the failure again, and
>> >>>>>>>>>>>>> then check the return value?
>> >>>>>>>>>>>>> Can you rewrite the command line and run it from the
>> >>>>>>>>>>>>> devenv prompt? That is, is there any indication that the
>> >>>>>>>>>>>>> pch file itself is messed up, or can it be used if running
>> >>>>>>>>>>>>> the compilation that should use it from an "ok" prompt?
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> /Magnus
>> >>>>>>>>>>>>>> /Erik
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> On 2018-12-14 12:55, Andrew Luo wrote:
>> >>>>>>>>>>>>>>> Hmm, I get the rc.exe error as well, but now it is much
>> >>>>>>>>>>>>>>> later down the line... Still investigating...
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> Thanks,
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> -Andrew
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> -----Original Message-----
>> >>>>>>>>>>>>>>> From: Andrew Luo
>> >>>>>>>>>>>>>>> Sent: Friday, December 14, 2018 12:34 PM
>> >>>>>>>>>>>>>>> To: 'Andrew Luo' <andrewluotechnologies at outlook.com>;
>> >>>>>>>>>>>>>>> Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com>; Erik
>> >>>>>>>>>>>>>>> Joelsson <erik.joelsson at oracle.com>
>> >>>>>>>>>>>>>>> Cc: build-dev at openjdk.java.net
>> >>>>>>>>>>>>>>> Subject: RE: [PATCH] Support for building using WSL
>> >>>>>>>>>>>>>>> (Windows Subsystem for Linux) on Windows
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> Try this updated patch with some fixes...
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> Thanks,
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> -Andrew
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> -----Original Message-----
>> >>>>>>>>>>>>>>> From: build-dev <build-dev-bounces at openjdk.java.net> On
>> >>>>>>>>>>>>>>> Behalf Of Andrew Luo
>> >>>>>>>>>>>>>>> Sent: Friday, December 14, 2018 12:01 PM
>> >>>>>>>>>>>>>>> To: Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com>;
>> >>>>>>>>>>>>>>> Erik Joelsson <erik.joelsson at oracle.com>
>> >>>>>>>>>>>>>>> Cc: build-dev at openjdk.java.net
>> >>>>>>>>>>>>>>> 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 <magnus.ihse.bursie at oracle.com>
>> >>>>>>>>>>>>>>> Sent: Friday, December 14, 2018 11:42 AM
>> >>>>>>>>>>>>>>> To: Erik Joelsson <erik.joelsson at oracle.com>
>> >>>>>>>>>>>>>>> Cc: Andrew Luo <andrewluotechnologies at outlook.com>;
>> >>>>>>>>>>>>>>> build-dev at openjdk.java.net
>> >>>>>>>>>>>>>>> Subject: Re: [PATCH] Support for building using WSL
>> >>>>>>>>>>>>>>> (Windows Subsystem for Linux) on Windows
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> 14 dec. 2018 kl. 20:31 skrev Erik Joelsson
>> >>>>>>>>>>>>>>>> <erik.joelsson at oracle.com>:
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> 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-releas
>> >>>>>>>>>>>>>>>>>>>> e\
>> >>>>>>>>>>>>>>>>>>>> hotsp
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> ot\
>> >>>>>>>>>>>>>>>>>>>> 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\ho
>> >>>>>>>>>>>>>>>> ts
>> >>>>>>>>>>>>>>>> pot\v
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> ari ant-s erver\libjvm\objs\build_libjvm.pch' has been
>> >>>>>>>>>>>>>>>> rebuilt since
>> >>>>>>>>>>>>>>>> 'd:\erik\jdk-wsl\build\windows-x86_64-server-release\ho
>> >>>>>>>>>>>>>>>> ts
>> >>>>>>>>>>>>>>>> pot\v
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> ari ant-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-s
>> >>>>>>>>>>>>>>>>>>> up
>> >>>>>>>>>>>>>>>>>>> port\
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>> 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-re
>> >>>>>>>>>>>>>>>>>> le
>> >>>>>>>>>>>>>>>>>> ase/h
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> ots pot/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-rel
>> >>>>>>>>>>>>>>>>>> ea
>> >>>>>>>>>>>>>>>>>> se/ho
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> tsp
>> >>>>>>>>>>>>>>>>>> ot/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
>> >>>>>>>>>>>>>>>>>> _x
>> >>>>>>>>>>>>>>>>>> 86
>> >>>>>>>>>>>>>>>>>> -I/mnt/d/erik/jdk-wsl/build/windows-x86_64-server-rel
>> >>>>>>>>>>>>>>>>>> ea
>> >>>>>>>>>>>>>>>>>> se/ho
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> tsp
>> >>>>>>>>>>>>>>>>>> ot/va
>> >>>>>>>>>>>>>>>>>> riant-server/gensrc
>> >>>>>>>>>>>>>>>>>> -I/mnt/d/erik/jdk-wsl/open/src/hotspot/share/precompi
>> >>>>>>>>>>>>>>>>>> le d
>> >>>>>>>>>>>>>>>>>> -I/mnt/d/erik/jdk-wsl/open/src/hotspot/share/include
>> >>>>>>>>>>>>>>>>>> -I/mnt/d/erik/jdk-wsl/open/src/hotspot/os/windows/inc
>> >>>>>>>>>>>>>>>>>> lu
>> >>>>>>>>>>>>>>>>>> de
>> >>>>>>>>>>>>>>>>>> -I/mnt/d/erik/jdk-wsl/build/windows-x86_64-server-rel
>> >>>>>>>>>>>>>>>>>> ea
>> >>>>>>>>>>>>>>>>>> se/su
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> ppo
>> >>>>>>>>>>>>>>>>>> rt/mo
>> >>>>>>>>>>>>>>>>>> dules_include/java.base
>> >>>>>>>>>>>>>>>>>> -I/mnt/d/erik/jdk-wsl/build/windows-x86_64-server-rel
>> >>>>>>>>>>>>>>>>>> ea
>> >>>>>>>>>>>>>>>>>> se/su
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> ppo
>> >>>>>>>>>>>>>>>>>> rt/mo
>> >>>>>>>>>>>>>>>>>> dules_include/java.base/win32
>> >>>>>>>>>>>>>>>>>> -I/mnt/d/erik/jdk-wsl/open/src/java.base/share/native
>> >>>>>>>>>>>>>>>>>> /l
>> >>>>>>>>>>>>>>>>>> ibjim
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> age
>> >>>>>>>>>>>>>>>>>> -Z7
>> >>>>>>>>>>>>>>>>>> -d2Zi+ -wd4800 -WX
>> >>>>>>>>>>>>>>>>>> -I/mnt/c/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSV
>> >>>>>>>>>>>>>>>>>> C/
>> >>>>>>>>>>>>>>>>>> 1416~
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> 1.2
>> >>>>>>>>>>>>>>>>>> 70/at
>> >>>>>>>>>>>>>>>>>> lmfc/include
>> >>>>>>>>>>>>>>>>>> -I/mnt/c/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSV
>> >>>>>>>>>>>>>>>>>> C/
>> >>>>>>>>>>>>>>>>>> 1416~
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> 1.2
>> >>>>>>>>>>>>>>>>>> 70/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/shar
>> >>>>>>>>>>>>>>>>>> ed
>> >>>>>>>>>>>>>>>>>> -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/winr
>> >>>>>>>>>>>>>>>>>> t
>> >>>>>>>>>>>>>>>>>> -I/mnt/c/PROGRA~2/WI3CF2~1/10/Include/100177~1.0/cppw
>> >>>>>>>>>>>>>>>>>> in
>> >>>>>>>>>>>>>>>>>> rt
>> >>>>>>>>>>>>>>>>>> -O2
>> >>>>>>>>>>>>>>>>>> -Oy- "-DTHIS_FILE=\"\"" -c
>> >>>>>>>>>>>>>>>>>> -Fo/mnt/d/erik/jdk-wsl/build/windows-x86_64-server-re
>> >>>>>>>>>>>>>>>>>> le
>> >>>>>>>>>>>>>>>>>> ase/h
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> ots pot/v ariant-server/libjvm/objs/ad_x86_expand.obj
>> >>>>>>>>>>>>>>>>>> /mnt/d/erik/jdk-wsl/build/windows-x86_64-server-relea
>> >>>>>>>>>>>>>>>>>> se
>> >>>>>>>>>>>>>>>>>> /hots
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> pot /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/141
>> >>>>>>>>>>>>>>>>>>> 6~
>> >>>>>>>>>>>>>>>>>>> 1.270
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>> /bi
>> >>>>>>>>>>>>>>>>>>> n/Hos
>> >>>>>>>>>>>>>>>>>> tx86/x64/cl.exe -showIncludes
>> >>>>>>>>>>>>>>>>>> -Fpd:/erik/jdk-wsl/build/windows-x86_64-server-releas
>> >>>>>>>>>>>>>>>>>> e/
>> >>>>>>>>>>>>>>>>>> hotsp
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> ot/ 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
>> >>>>>>>>>>>>>>>>>> /h
>> >>>>>>>>>>>>>>>>>> otspo
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> t/v arian 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
>> >>>>>>>>>>>>>>>>>> /h
>> >>>>>>>>>>>>>>>>>> otspo
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> t/v
>> >>>>>>>>>>>>>>>>>> arian 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
>> >>>>>>>>>>>>>>>>>> /s
>> >>>>>>>>>>>>>>>>>> uppor
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> t/m
>> >>>>>>>>>>>>>>>>>> odule
>> >>>>>>>>>>>>>>>>>> s_include/java.base
>> >>>>>>>>>>>>>>>>>> -Id:/erik/jdk-wsl/build/windows-x86_64-server-release
>> >>>>>>>>>>>>>>>>>> /s
>> >>>>>>>>>>>>>>>>>> uppor
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> t/m
>> >>>>>>>>>>>>>>>>>> odule
>> >>>>>>>>>>>>>>>>>> s_include/java.base/win32
>> >>>>>>>>>>>>>>>>>> -Id:/erik/jdk-wsl/open/src/java.base/share/native/lib
>> >>>>>>>>>>>>>>>>>> ji
>> >>>>>>>>>>>>>>>>>> mage
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> -Z7
>> >>>>>>>>>>>>>>>>>> -d2Zi+ -wd4800 -WX
>> >>>>>>>>>>>>>>>>>> -Ic:/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/14
>> >>>>>>>>>>>>>>>>>> 16
>> >>>>>>>>>>>>>>>>>> ~1.27
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> 0/a
>> >>>>>>>>>>>>>>>>>> tlmfc
>> >>>>>>>>>>>>>>>>>> /include
>> >>>>>>>>>>>>>>>>>> -Ic:/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/14
>> >>>>>>>>>>>>>>>>>> 16
>> >>>>>>>>>>>>>>>>>> ~1.27
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> 0/i nclud 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-releas
>> >>>>>>>>>>>>>>>>>> e/
>> >>>>>>>>>>>>>>>>>> hotsp
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> ot/ varia nt-server/libjvm/objs/ad_x86_expand.obj
>> >>>>>>>>>>>>>>>>>> d:/erik/jdk-wsl/build/windows-x86_64-server-release/h
>> >>>>>>>>>>>>>>>>>> ot
>> >>>>>>>>>>>>>>>>>> spot/
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> var
>> >>>>>>>>>>>>>>>>>> iant- 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