On Mon, Nov 01, 2010 at 07:07:48PM +0100, Ralf Wildenhues wrote: > [ http://thread.gmane.org/gmane.comp.sysutils.automake.bugs/5061 ] > > * Lluís Batlle i Rossell wrote on Sun, Oct 31, 2010 at 05:49:00PM CET: > > On Sun, Oct 31, 2010 at 10:48:10AM +0100, Lluís Batlle i Rossell wrote: > > > On Sun, Oct 31, 2010 at 10:01:09AM +0100, Ralf Wildenhues wrote: > > > > (ulimit -t 300; sh -c 'while make check TESTS=parallel-tests5.test; do > > > > :; done') > > > > > Which make implementation and version do you use? Which distro is this? > > > > > > It's NixOS. > > > gnu make 3.82. > > > > After many retries, the test failed again. The part of the log about the > > failure > > says: > > > > ...... > > gcc -DPACKAGE_NAME=\"parallel-tests5\" > > -DPACKAGE_TARNAME=\"parallel-tests5\" -DPACKAGE_VERSION=\"1.0\" > > -DPACKAGE_STRING=\"parallel-tests5\ 1.0\" -DPACKAGE_BUGREPORT=\"\" > > -DPACKAGE_URL=\"\" -DPACKAGE=\"parallel-tests5\" -DVERSION=\"1.0\" -I. > > -g -O2 -MT foo4.o -MD -MP -MF .deps/foo4.Tpo -c -o foo4.o foo4.c > > building foo5.o > > mv -f .deps/foo2.Tpo .deps/foo2.Po > > make[2]: vfork: Function not implemented > > make[2]: *** Deleting file `foo2.o' > It looks like a NixOS or a 'make' problem. Can you report this to the > NixOS developers to see if they have any input on it? Hmm, lemme see; > Ludovic, are you the right person to ask on this?
I'm afraid Ludovic will point at me at the resolution of this problem. I'll add Ralf on copy, which knows a bit about the vfork implementation of glibc on mips, which is based on clone, and knows linux-mips well. 'strace' showed the offending call: 21968 clone(child_stack=0x7fdd95f0, flags=CLONE_VM|CLONE_VFORK|SIGCHLD) = ? ERESTARTNOINTR (To be restarted) On behalf of glibc, gnu make calls strerror(errno) to get the string identifying the error, and it looks like for ERESTARTNOINTR it prints "Function not implemented". I've checked slightly the glibc code, and I cannot see why it would return such a string for ERESTART. I've been using glibc 2.12.1. Ralf says that something changed about syscall restarting in linux 2.6.36, so it can be a problem in linux. I hope he will investigate that and keep all of us aware. I'll try linux 2.6.35 meanwhile. Regards, Lluís.