Regression in Cygwin 3.2.0

Thomas Wolff towo@towo.net
Fri Apr 16 14:44:54 GMT 2021


Am 16.04.2021 um 16:07 schrieb David Allsopp via Cygwin:
> Thomas Wolff wrote:
>> Am 16.04.2021 um 12:17 schrieb David Allsopp via Cygwin:
>>> I'm unable to build OCaml using the mingw-w64 compilers with Cygwin
>>> 3.2.0. Windows 10.0.19042.928 (and tried on three different machines
>>> so far)
>>>
>>> Repro:
>>>
>>>    - Fresh Cygwin64 installation with make, libiconv,
>>> mingw64-x86_64-gcc-core and git added; fire up mintty
>>>    - git clone --depth 1 --recursive https://github.com/ocaml/ocaml
>>>    - cd ocaml && ./configure --host=x86_64-w64-mingw32 && make -j8
>>> flexdll && make -j8 world.opt
>>>
>>> This is consistently hanging with Cygwin 3.2.0 and seems possibly to
>>> have something to do with linking (the creation of
>>> runtime/ocamlrun.exe and stdlib/camlheader, which is also an
>>> executable, seem to be part of the problem).
>>>
>>> It can be immediately fixed by downgrading to Cygwin 3.1.7, cleaning
>>> the tree and repeating the build.
>>>
>>> I'm of course very happy to try to reduce this to a smaller repro
>>> case, but is there an obvious culprit in Cygwin 3.2.0 to check before I
>>> do?
>> The build fails for me with error messages but it does not hang.
> Thanks for confirming!
>
>> You could have tried at least building without -j option, and running the
>> build steps separately for better diagnostics.
> Indeed - the repro case above was intended to be small and fast. I was still
> at the "is this just me/us", stage. Suggesting a non-parallel build of OCaml
> would have been mean, as it takes about an hour if it doesn't crash...!
>
> That said, the non-parallel build I think reveals the Cygwin problem: there
> are console windows constantly flashing up (it renders the workstation
> unusable for the duration of the build). The first stage of the build
> compiles ocamlrun.exe which is non-Cygwin in this case and then it uses
> that throughout the build, so I guess it's the conpty changes which are biting.
>
> However, the build did succeed when run without -j, however this (which will
> take about 20 mins or so):
>
> ./configure --build=x86_64-w64-mingw32 --disable-native-compiler
> make flexdll runtop
>
> causes a new console Window to pop up with an OCaml prompt (which can be quit
> by taking #quit;;) rather than the same prompt being connected to mintty.
>
> With make -j, it doesn't appear to flash up all the console Windows, but it's
> also reliably failing. I tried with the cygwin1.dll snapshot from this morning
> which seems to be doing the same.
Maybe a non-cygwin tool is injected in your build process?
What if you strip your PATH from all non-cygwin directories?


More information about the Cygwin mailing list