develooper Front page | perl.perl5.porters | Postings from May 2018

[perl #128631] Win32 MinGW build failure

Thread Previous
From:
Steve Hay via RT
Date:
May 10, 2018 12:58
Subject:
[perl #128631] Win32 MinGW build failure
Message ID:
rt-4.0.24-29195-1525957086-1954.128631-14-0@perl.org
I've just run into this bug, testing blead with recent mingw.org compilers - 5.3.0 and 6.3.0. Previously I have used 4.8.1 and haven't seen the problem.

It revolves around which version of the MinGW runtime library is being used. My 4.8.1 installation reports

__MINGW32_MAJOR_VERSION=3
__MINGW32_MINOR_VERSION=20

despite coming from a file looking like it's version 4 (mingwrt-4.0.3-1-mingw32-dev.tar.lzma), so I guess it just missed the cut for mkstemp() addition.

But my 5.3.0 and 6.3.0 installations use newer runtimes:

__MINGW32_MAJOR_VERSION=5
__MINGW32_MINOR_VERSION=0

(the former from mingwrt-5.0-mingw32-dev.tar.xz and the latter from mingwrt-5.0.2-mingw32-dev.tar.xz) which do include mkstemp().

I think we need something like

https://perl5.git.perl.org/perl.git/commit/f33b2f585292653a3c50ea39cbdab734c3473fcb

to fix it, but switching on the #defines above. Trouble is, I don't know what numbers to use because of the confusing message from Keith Marshall (via Sisyphus) above.

Does anyone know what version is reported by "the fatally flawed mingwrt-4.x variants" reported? Is that what my 4.8.1 setup is using, despite reporting itself as 3.20? Or are there versions that report themselves as 4.x?

I've only just discovered that new mingw.org compilers (v5 and v6) even exist. But knowing this now, I wonder if this should be a 5.28 blocker?

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About