At Thu, 07 Oct 2021 10:25:31 -0700, "Greg A. Woods" <woods%planix.ca@localhost> wrote: Subject: very strange build failure in external/gpl3/gcc/lib/libstdc++-v3/include/bits > > I had a parallel build fail as follows yesterday. > > This same source tree has been built in the same way on the same machine > multiple times without these errors ever appearing. An rsync'ed copy of > the source tree has been successfully built on another machine multiple > times without these errors ever appearing. I spoke a little too soon. The second machine encountered the same error just now, but only part of it -- i.e. only one of the 'mv' commands failed: mv: rename gthr-posix.h.tmp to gthr-posix.h: No such file or directory --- gthr-posix.h --- *** [gthr-posix.h] Error code 1 nbmake[7]: stopped in /work/woods/m-NetBSD-current/external/gpl3/gcc/lib/libstdc++-v3/include/bits 1 error I happened to have a couple of other older builds from the same tree on that other machine, and so I looked for similar errors in the logs from those builds, and what do you know, but I found one more (from last March)! mv: rename c++config.h.tmp to c++config.h: No such file or directory includes ===> external/mit/xorg/lib/xkeyboard-config/symbols/nec_vndr install /build/woods/b2/current-amd64-destdir/usr/X11R7/include/xcb/xc_misc.h install /build/woods/b2/current-amd64-destdir/usr/X11R7/include/xcb/xcb.h --- includes-include --- nbmake[5]: stopped in /work/woods/m-NetBSD-current/external/gpl3/gcc/lib/libstdc++-v3 --- includes-libxcb --- nbmake[8]: stopped in /work/woods/m-NetBSD-current/external/mit/xorg/lib/libxcb --- includes-bits --- nbmake[9]: stopped in /work/woods/m-NetBSD-current/external/gpl3/gcc/lib/libstdc++-v3/include That time I just restarted the build and put it down to a parallel build Makefile error. In that case it's from external/gpl3/gcc/lib/libstdc++-v3/include/bits/Makefile and again it's the same style of rule where it is impossible for me to understand how the failure could possibly happen! It's almost as if the call to rename() in 'mv' succeeds, but returns an ENOENT error sometimes!!! BTW, there's a rule in /usr/src/external/gpl3/gcc/lib/libstdc++-v3/Makefile of a similar form but it includes what seems to me to be a nonsensical "&& rm -f ${.TARGET}.tmp" at the end. Shouldn't that be "|| rm -f ..."??? (or just not there at all?) -- Greg A. Woods <gwoods%acm.org@localhost> Kelowna, BC +1 250 762-7675 RoboHack <woods%robohack.ca@localhost> Planix, Inc. <woods%planix.com@localhost> Avoncote Farms <woods%avoncote.ca@localhost>
Attachment:
pgpYg7MPvR8CM.pgp
Description: OpenPGP Digital Signature