On 20 October 2015 at 13:50, Steve Hay <steve.m.hay@googlemail.com> wrote: > On 18 October 2015 at 20:37, bulk 88 <bulk88@hotmail.com> wrote: >> >> >>> Date: Sun, 18 Oct 2015 13:57:36 +0100 >>> Subject: Re: GCC builds failing many tests on Windows >>> From: perl5-porters@perl.org >>> To: bulk88@hotmail.com >>> CC: perl5-porters@perl.org >>> >>> It isn't a parallel build; it's just a straight "dmake". But you're >>> right that ext/POSIX/const-c.inc and ext/POSIX/const-xs.inc are both 0 >>> bytes, which is rather worrying, especially since this happens every >>> time for me... >> >> For me it happens only when doing a "dmake all" or "dmake test" parallel >> (-P3) build. If I do "dmake -P3 Extensions" POSIX builds correctly every >> time, so I think the race is between Extensions_nonxs and Extensions targets >> (both are make_ext.pl runs) in parallel mode. Whether I use Visual C or GCC >> with dmake makefile doesnt seem to make a difference. A git clean and >> another "dmake -P3 all" and POSIX builds usually builds normal. If I drop >> the -P3, git clean, goto serial dmake build it always goes away. I've never >> had the bug hit more than 2 times in a row in parallel mode with git cleans >> between. When I tried to step POSIX's Makefile.PL a month ago, those 2 files >> always get written out to disk correctly. >> > > I can't understand how this doesn't happen for you. It happens every > time for me on two different machines (Windows 7 and Windows 8.1). > > The build sequence with a straight "dmake" is: > > miniperl.exe > DynaLoader > XS extensions > perl.dll > perl.exe > non-XS extensions > > The problem is that POSIX is an XS extension, but its Makefile.PL > needs XSLoader, which is non-XS so hasn't been made yet. In 5.20, the build order was: miniperl.exe non-XS extensions DynaLoader perl.dll perl.exe XS extensions This was clearly changed for a reason in the course of adding the parallel build stuff, and I'm not confident right now how to fix this without adversely affecting the parallel builds. So given that it's been this way for a while already I won't try to rush a fix into today's 5.23.4 release.Thread Previous