Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Sep 2020 13:55:07 -0400
From:      Michael Butler <imb@protected-networks.net>
To:        Mark Murray <markm@FreeBSD.org>, freebsd-arm <freebsd-arm@freebsd.org>
Cc:        freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: objcopy "text file busy" build failure with populated /usr/obj
Message-ID:  <df072092-1f96-daa1-8216-28d8a5991825@protected-networks.net>
In-Reply-To: <1AFD8BB9-F598-451A-A1D9-16D550402E3E@FreeBSD.org>
References:  <1AFD8BB9-F598-451A-A1D9-16D550402E3E@FreeBSD.org>

index | next in thread | previous in thread | raw e-mail

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



help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?df072092-1f96-daa1-8216-28d8a5991825>