It looks like we are still missing some instances of EINTRLOOP() macro usage. The gcc5 build with fink make still fails with the proposed fix starting at...
make[5]: *** read jobs pipe: No such file or directory. Stop. make[5]: *** Waiting for unfinished jobs.... and resulting in.... make: INTERNAL: Exiting with 1 jobserver tokens available; should be 8! I am certain that the issue is missing instances of EINTRLOOP() on file i/o in make 4.x but we will just have to weed through all of the different cases. This makes sense as the exact initial context of the make error does vary across the different failing package builds but always ends in the jobs being reduced to 1. The likely candidate for the failure with the gcc5 build is the instance of... got_token = read (job_rfd, &token, 1); which is missing the EINTRLOOP() macro. Jack On Tue, Oct 20, 2015 at 10:52 PM, Jack Howarth <howarth.at.f...@gmail.com> wrote: > Of course the 10.12 should be 10.11 (doh). FYI, the original discussion of > the requirement for the EINTRLOOP() macros can be found at... > > https://lists.gnu.org/archive/html/make-alpha/2001-05/msg00008.html > > On Tue, Oct 20, 2015 at 10:29 PM, Jack Howarth <howarth.at.f...@gmail.com> > wrote: > >> FYI, I've also opened a bug report at... >> >> https://savannah.gnu.org/bugs/index.php?46261 >> >> and posted the proposed fix there as well. >> >> On Tue, Oct 20, 2015 at 10:16 PM, Jack Howarth <howarth.at.f...@gmail.com >> > wrote: >> >>> The attached packaging adds the change... >>> >>> diff -uNr make-4.1.orig/main.c make-4.1/main.c >>> --- make-4.1.orig/main.c 2014-10-05 12:24:51.000000000 -0400 >>> +++ make-4.1/main.c 2015-10-20 22:08:00.000000000 -0400 >>> @@ -3364,9 +3364,12 @@ >>> #else >>> /* Close the write side, so the read() won't hang. */ >>> close (job_fds[1]); >>> - >>> - while (read (job_fds[0], &token, 1) == 1) >>> + int r; >>> + EINTRLOOP (r, read (job_fds[0], &token, 1)); >>> + while (r == 1) { >>> ++tcnt; >>> + EINTRLOOP (r, read (job_fds[0], &token, 1)); >>> + } >>> #endif >>> >>> if (tcnt != master_job_slots) >>> >>> which seems to eliminate the build failures with make 4.1 on 10.12 here >>> by adding the missing usage of the EINTRLOOP() on the read calls in main.c. >>> Jack >>> >> >> >
------------------------------------------------------------------------------
_______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net List archive: http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel