Hi! I'm running make on x86 interix (SFU/SUA). All works like a charm, except for occasional problems with multi-core machines (I'm not sure if the same problems would occur on single cores too...).
I'm seeing two different problems, the "bader" one being a jobserver token leak. Sometimes make exits with messages like this: make: INTERNAL: Exiting with 3 jobserver tokens available; should be 2! But much worse is the case where make simply hangs, and seems to be out of jobserver tokens! Is this a known problem? I tried the patch from [1], but that didn't make any difference. Also I found a patch against 3.80, adding the jobserver_tokens global variable, so I assume that one has been incorporated into 3.81, since this variable already exists... (?). I attached the output of this command and the corresponding .diff file: while ( cd tests && perl ./run_make_tests.pl features/parallelism -make ../make -debug -verbose ); do echo ...; done > xx 2>&1 & the test-1 log is seemingly another problem, which occurred while I tried to faster provocate the error I'm reporting here by putting my 2 core AMD CPU under heavy load. Ugh... another one :( FYI I attached the config.log too, so you can identify potential issues caused by assumptions which may be wrong for interix. [1] http://savannah.gnu.org/bugs/?18124 ---- Now for the second problem, which is far easier to work around: Again only occasionally I'm getting "make[N]: write error". After R[eading]T[he]F[ine]S[source] I found out that ferror(stdout) triggers this message. Strange... seems like there was an error writing to stdout..? or could this point to an error writing to the jobserver fds? I worked around the problem for now by simply not exiting on this error, since it's not too critical for me if a line in the output is missing or something like that. Also since it's only occasionally, I can simple do make again, If I really need all the output. BTW I never noticed missing output when I got "write error", but output tends to be kilometers long, so I could have overseen that :) Any ideas regarding those two? P.S.: I just noticed that the --enable-case-insensitive-file-system (interix is insensitive, as it uses window's fs') is win32 only as-is, since it uses strcmpi. Attached is a patch fixing this for interix. Maybe this fixes for this feature for mac osx too (is there support for max osx yet?). Thanks in advance, Cheers, Markus Duft
make-3.81-case-insensitive-non-win32.patch
Description: Binary data
make-3.81-config-interix6.0.log.gz
Description: GNU Zip compressed data
make-3.81-parallelism-test-1.tgz
Description: application/compressed
make-3.81-parallelism-test-2.tgz
Description: application/compressed
_______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make