parallel-compile fails. make[5]: Entering directory `/dev/shm/portage/mail-client/mutt-1.5.15/work/mutt-1.5.15' x86_64-pc-linux-gnu-gcc -DPKGDATADIR=\"/usr/share/mutt\" -DSYSCONFDIR=\"/etc/mutt\" -DBINDIR=\"/usr/bin\" -DMUTTLOCALEDIR=\"/usr/share/locale\" -DHAVE_CONFIG_H=1 -I. -I. -I. -I./imap -I/usr/include/gpgme -Iintl -I/usr/include -I/usr/include -I./intl -Wall -pedantic -march=nocona -O2 -pipe -MT makedoc.o -MD -MP -MF .deps/makedoc.Tpo -c -o makedoc.o makedoc.c mv -f .deps/makedoc.Tpo .deps/makedoc.Po x86_64-pc-linux-gnu-gcc -Wall -pedantic -march=nocona -O2 -pipe -o makedoc makedoc.o -lidn -lgdbm mv -f .deps/makedoc.Tpo .deps/makedoc.Po x86_64-pc-linux-gnu-gcc -Wall -pedantic -march=nocona -O2 -pipe -o makedoc makedoc.o -lidn -lgdbm make[4]: Leaving directory `/dev/shm/portage/mail-client/mutt-1.5.15/work/mutt-1.5.15' x86_64-pc-linux-gnu-gcc -E -I. -I.. -I/usr/include -I.. -DSYSCONFDIR=\"/etc/mutt\" -DBINDIR=\"/usr/bin\" -DHAVE_CONFIG_H=1 -I/usr/include -I/usr/include -I../intl -D_MAKEDOC -C ../init.h | ../makedoc -m | \ cat ./muttrc.man.head - ./muttrc.man.tail\ > muttrc.man /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: reopening makedoc: Text file busy /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: Text file busy collect2: ld returned 1 exit status make[5]: *** [makedoc] Error 1
I can confirm that: Making all in doc make[2]: Entering directory `/var/tmp/portage/mail-client/mutt-1.5.15/work/mutt-1.5.15/doc' make makedoc-all make[3]: Entering directory `/var/tmp/portage/mail-client/mutt-1.5.15/work/mutt-1.5.15/doc' sed -e 's,@sysconfdir\@,/etc/mutt,g' -e 's,@bindir\@,/usr/bin,g' -e 's,@docdir\@,/usr/share/doc/mutt-1.5.15,g' ./mutt.man > mutt.1 (cd .. && make makedoc) make -j1 ../makedoc # we do not want to rebuild the documentation in tarball builds make[4]: Entering directory `/var/tmp/portage/mail-client/mutt-1.5.15/work/mutt-1.5.15/doc' make[4]: warning: -jN forced in submake: disabling jobserver mode. (cd .. && make makedoc) make[4]: Entering directory `/var/tmp/portage/mail-client/mutt-1.5.15/work/mutt-1.5.15' i686-pc-linux-gnu-gcc -DPKGDATADIR=\"/usr/share/mutt\" -DSYSCONFDIR=\"/etc/mutt\" -DBINDIR=\"/usr/bin\" -DMUTTLOCALEDIR=\"/usr/share/locale\" -DHAVE_CONFIG_H=1 -I. -I. -I. -I./imap -I/usr/include/gpgme -Iintl -I./intl -Wall -pedantic -O2 -march=athlon-xp -pipe -mno-tls-direct-seg-refs -MT makedoc.o -MD -MP -MF .deps/makedoc.Tpo -c -o makedoc.o makedoc.c make[5]: Entering directory `/var/tmp/portage/mail-client/mutt-1.5.15/work/mutt-1.5.15' i686-pc-linux-gnu-gcc -Wall -pedantic -O2 -march=athlon-xp -pipe -mno-tls-direct-seg-refs -o makedoc makedoc.o -lgdbm /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../crt1.o: In function `_start': (.text+0x18): undefined reference to `main' collect2: ld returned 1 exit status make[5]: *** [makedoc] Error 1 make[5]: Leaving directory `/var/tmp/portage/mail-client/mutt-1.5.15/work/mutt-1.5.15' make[4]: *** [../makedoc] Error 2 make[4]: Leaving directory `/var/tmp/portage/mail-client/mutt-1.5.15/work/mutt-1.5.15/doc' make[3]: *** [stamp-doc-xml] Error 2 make[3]: *** Waiting for unfinished jobs.... mv -f .deps/makedoc.Tpo .deps/makedoc.Po i686-pc-linux-gnu-gcc -Wall -pedantic -O2 -march=athlon-xp -pipe -mno-tls-direct-seg-refs -o makedoc makedoc.o -lgdbm make[4]: Leaving directory `/var/tmp/portage/mail-client/mutt-1.5.15/work/mutt-1.5.15' make[3]: Leaving directory `/var/tmp/portage/mail-client/mutt-1.5.15/work/mutt-1.5.15/doc' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/mail-client/mutt-1.5.15/work/mutt-1.5.15/doc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mail-client/mutt-1.5.15/work/mutt-1.5.15' make: *** [all] Error 2 !!! ERROR: mail-client/mutt-1.5.15 failed. Compiling with MAKEOPTS='-j1' works fine.
Ooook, thank you. It didn't fail for me for some reason... I'll force -j1 for now and will look for a proper solution later. - ferdy (I'm marking it ->FIXED because there is no ->WORKAROUNDED...)
I can't reproduce it. Does mutt-1.5.14 work for both of you? I tried with -j5 and a couple of distcc nodes, and it seems to work well... - ferdy
.14 worked fine for me some weeks ago. I've tried .15 with -j1, -j5 and -j, only the first one worked. Could it have something to do with gdbm? I see "-lgdbm" in both error messages, if you don't use it maybe that's why you can't reproduce the problem.
Ok, I found a very easy fix for this. Will do in -r1. - ferdy
Just for the record: Two different make code paths ended up running 'cd .. && make makedoc$(EXEEXT)' leading to a racy situation. Fixed in -r1 and sent the fix upstream [1]. - ferdy [1] - http://dev.mutt.org/trac/ticket/2538