Looking a bit more at the failures of make 4.x under fink, I noticed that fink uses the perl system() call and MacPorts uses tcl's system() call as well. However the perl documentation has the following comment...
Since system does a fork and wait it may affect a SIGCHLD handler. See perlipc for details. This may be critical to the bug as the diff of main.c in make 3.8.2 to 4.1 shows following additional code... +#ifndef WINDOWS32 +#ifdef HAVE_FCNTL +# define FD_OK(_f) ((fcntl ((_f), F_GETFD) != -1) || (errno != EBADF)) +#else +# define FD_OK(_f) 1 +#endif + /* Create a duplicate pipe, that will be closed in the SIGCHLD + handler. If this fails with EBADF, the parent has closed the pipe + on us because it didn't think we were a submake. If so, print a + warning then default to -j1. */ + else if (!FD_OK (job_fds[0]) || !FD_OK (job_fds[1]) + || (job_rfd = dup (job_fds[0])) < 0) + { + if (errno != EBADF) + pfatal_with_name (_("dup jobserver")); + + O (error, NILF, + _("warning: jobserver unavailable: using -j1. Add '+' to parent make rule.")); + job_slots = 1; + job_fds[0] = job_fds[1] = -1; + } +#endif So far, I am not seeing the make failures when using the older fink make 3.82 packaging on 10.11. Also, note that the errors we are seeing with make 4.1 are of the form.. make: INTERNAL: Exiting with 1 jobserver tokens available; should be 8! ...where the jobs are being lowered expectedly from 8 to 1 exactly as the comment in main.c states. As far as I can tell, the code section above is the only place in make 4.1 where job_slots is reset to 1. Jack ps The MacPorts developers pointed that their system() isn't actually the stock tcl one but a custom version... http://trac.macports.org/browser/trunk/base/src/pextlib1.0/system.c which uses fork().
------------------------------------------------------------------------------
_______________________________________________ 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