objcopy "text file busy" build failure with populated /usr/obj
Michael Butler
imb at protected-networks.net
Sun Sep 20 17:55:17 UTC 2020
On 9/20/20 10:58 AM, Mark Murray wrote:
> Hi *
>
> I've been getting these build failures for a while (weeks/months). The machine is a MacchiatoBin DoubleShot (arm64, Quad core). with SATA disks and zfs filesystem. If I empty out /usr/obj, then the build works, but takes a few hours. If I do a no-clean build with /obj/obj populated with he contents of a previous build, and /usr/src with updated ("svn update") sources, then the below nearly always happens early in the rebuild. It is in "stage 4.4: building everything" that this happens. The build is parallel (-j8), and I have manually de-threaded the output.
>
> The generated command-line from the logfile is:
>
> cd /usr/src; _PARALLEL_SUBDIR_OK=1 MACHINE_ARCH=aarch64 MACHINE=arm64 CPUTYPE=cortex-a72 CC="/usr/local/bin/ccache cc -target aarch64-unknown-freebsd13.0 --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin" CXX="/usr/local/bin/ccache c++ -target aarch64-unknown-freebsd13.0 --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin" CPP="cpp -target aarch64-unknown-freebsd13.0 --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin" AS="as" AR="ar" LD="ld" LLVM_LINK="" NM=nm OBJCOPY="objcopy" RANLIB=ranlib STRINGS= SIZE="size" STRIPBIN="strip" INSTALL="install -U" PATH=/usr/obj/usr/src/arm64.aarch64/tmp/bin:/usr/obj/usr/src/arm64.aarch64/tmp/usr/sbin:/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/sbin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/libexec::/sbin:/bin:/usr/sbin:/usr/bin SYSROOT=/usr/obj/usr/src/arm64.aarch64/tmp make -f Makefile.inc1 BWPHASE=everything DESTDIR=/usr/obj/usr/src/arm64.aarch64/tmp all
>
> Anyone else seeing this?
>
> objcopy --strip-debug --add-gnu-debuglink=objcopy.debug objcopy.full objcopy
> objcopy: open objcopy failed: Text file busy
> --- all_subdir_usr.bin/objcopy ---
> *** [objcopy] Error code 1
>
> make[4]: stopped in /usr/src/usr.bin/objcopy
Yes, although simply restarting the build seems to avoid the problem on
the second attempt.
However, I'm building on a dual quad-core amd64 platform (8 cores total)
so it's not just ARM being affected,
imb
More information about the freebsd-current
mailing list