At Sun, 08 Sep 2024 12:55:55 -0700, "Greg A. Woods" <woods%planix.ca@localhost> wrote:
Subject: parallel build failure in "make includes" with same rules being run multiple times in parallel
>
> I just had the following happen during a build with '-j 12', in the
> "make includes" phase. This looks like a parallel build race failure
> where the same rules were run in parallel when they shouldn't have done
> so. (I'm pretty sure I've seen similar races in other parts of the tree
> before too, but I've just brushed it off and re-ran the build.)
>
> mv: rename gthr-single.h.tmp to gthr-single.h: No such file or directory
> mv: rename gthr.h.tmp to gthr.h: No such file or directory
> --- gthr-single.h ---
> *** [gthr-single.h] Error code 1
>
> nbmake[7]: stopped in /work/woods/m-NetBSD-current/external/gpl3/gcc/lib/libstdc++-v3/include/bits
>
> If I go there and run it by hand all is well:
>
> $ cd external/gpl3/gcc/lib/libstdc++-v3/include/bits/
> $ mynbmake includes
> install /build/woods/b2/current-amd64-destdir/usr/include/g++/bits/basic_file.h
> install /build/woods/b2/current-amd64-destdir/usr/include/g++/bits/c++allocator.h
> install /build/woods/b2/current-amd64-destdir/usr/include/g++/bits/c++io.h
> install /build/woods/b2/current-amd64-destdir/usr/include/g++/bits/c++locale.h
> install /build/woods/b2/current-amd64-destdir/usr/include/g++/bits/gthr-posix.h
> install /build/woods/b2/current-amd64-destdir/usr/include/g++/bits/gthr-single.h
> install /build/woods/b2/current-amd64-destdir/usr/include/g++/bits/gthr.h
> install /build/woods/b2/current-amd64-destdir/usr/include/g++/bits/messages_members.h
> install /build/woods/b2/current-amd64-destdir/usr/include/g++/bits/opt_random.h
> install /build/woods/b2/current-amd64-destdir/usr/include/g++/bits/time_members.h
> includes ===> arch
> includes ===> arch/i386
> includes ===> arch/x86_64
>
> Given a quick look at the Makefile in that directory I'm guessing it
> needs to be re-written to serialize the build of the three headers
> gthr.h, gthr-single.h, and gthr-posix.h, but I'm not sure exactly how to
> accomplish that in this context.
And again yesterday, this time during the cross-build on macOS:
mv: gthr-single.h.tmp: No such file or directory
--- gthr-single.h ---
*** Failed target: gthr-single.h
*** In directory: /Volumes/work/woods/g-NetBSD-src/external/gpl3/gcc/lib/libstdc++-v3/include/bits
*** Failed commands:
${TOOL_SED} -e 's/\(UNUSED\)/_GLIBCXX_\1/g' -e 's/\(GCC[A-Z_]*_H\)/_GLIBCXX_\1/g' < ${DIST}/libgcc/gthr-single.h > ${.TARGET}.tmp && mv ${.TARGET}.tmp ${.TARGET}
=> /Users/woods/build/woods/very.local/trunk-x86_64-amd64-tools/bin/nbsed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' -e 's/\(GCC[A-Z_]*_H\)/_GLIBCXX_\1/g' < /Volumes/work/woods/g-NetBSD-src/external/gpl3/gcc/dist/libgcc/gthr-single.h > gthr-single.h.tmp && mv gthr-single.h.tmp gthr-single.h
*** [gthr-single.h] Error code 1
nbmake[10]: stopped making "includes" in /Volumes/work/woods/g-NetBSD-src/external/gpl3/gcc/lib/libstdc++-v3/include/bits
--- includes-arch ---
*** Failed target: includes-arch
*** In directory: /Volumes/work/woods/g-NetBSD-src/external/gpl3/gcc/lib/libstdc++-v3/include/bits
*** Failed commands:
@${MAKEDIRTARGET} ${.TARGET:C/^[^-]*-//} ${.TARGET:C/-.*$//}
=> @@_makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this="external/gpl3/gcc/lib/libstdc++-v3/include/bits/"; real="/Volumes/work/woods/g-NetBSD-src/external/gpl3/gcc/lib/libstdc++-v3/include/bits" ;; *) this="external/gpl3/gcc/lib/libstdc++-v3/include/bits/${dir}/"; real="/Volumes/work/woods/g-NetBSD-src/external/gpl3/gcc/lib/libstdc++-v3/include/bits/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /Users/woods/build/woods/very.local/trunk-x86_64-amd64-tools/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget arch includes
*** [includes-arch] Error code 6
nbmake[10]: stopped making "includes" in /Volumes/work/woods/g-NetBSD-src/external/gpl3/gcc/lib/libstdc++-v3/include/bits
Re-running "nbmake includeds" again by hand completes with no error.
--
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:
pgpillwNeFsv6.pgp
Description: OpenPGP Digital Signature