> > > /home/sysbuild/amd64/tools/bin/nbgpt work.img biosboot -i 2 > > > -c > > > /home/sysbuild/amd64/obj/home/sysbuild/src/distrib/amd64/installimage/work/usr/mdec/gptmbr.bin > > > nbgpt: work.img: No secondary GPT header; run recover > > > *** Failed target: NetBSD-9.99.82-amd64-install.img > > > *** Failed command: /home/sysbuild/amd64/tools/bin/nbgpt work.img > > > biosboot -i 2 -c > > > /home/sysbuild/amd64/obj/home/sysbuild/src/distrib/amd64/installimage/work/usr/mdec/gptmbr.bin > > > *** Error code 1 > > > Stop. > > > nbmake[4]: stopped in /home/sysbuild/src/distrib/amd64/installimage > > > ..... > > > > This is due to a stale installation file. There is ongoing discussion > > of this problem for PR 56132. Please look there! As a work-around, > > > > rm -rf /build/netbsd-local/obj/amd64/distrib/amd64/installimage/ > > Thanks, removing the directory let me complete the build. My usual > first reaction to a build failure is to 'make cleandir' in the source > directories and remove the old obj directory completely; in most cases > if there were a real problem it has already been addressed by NetBSD > developers and the build is OK; in this case I had removed all the > obj, tools and destdir directories just three days ago and didn't > expect an early fallout...
The main problem is that iso_image, live_image, and install_image targets of build.sh (and src/Makefile) hide detailed directory structures for building images, so currently there is no way to "clean objects only in image dirs". A possible way is to add explicit targets like iso_image_clean, live_image_clean, and install_image_clean etc. in all Makefiles under src/distrib? Anyway, we have workarounds but still need review by Makefile gurus: https://mail-index.netbsd.org/netbsd-bugs/2021/04/29/msg071345.html https://mail-index.netbsd.org/netbsd-bugs/2021/05/01/msg071360.html --- Izumi Tsutsui