objcopy: open objcopy failed: Text file busy
- Reply: Ed Maste : "Re: objcopy: open objcopy failed: Text file busy"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 23 Sep 2022 14:44:54 UTC
For a while now, when I do a "make buildworld" on -STABLE, if the /usr/obj directory is not empty I will have the build error out with "objcopy: open objcopy failed: Text file busy" part way through. It isn't ultimately fatal, because I can just run the buildworld again and it will pick up where it left off. As I say, it doesn't do this if /usr/obj is empty before running buildworld. It would be nice to have the incremental build complete all in one go. Is this a problem anyone else is seeing, or is it some peculiar misconfiguration at my end? Here is my /etc/src-env.conf: ===== /etc/src-env.conf ===== WITH_META_MODE=yes ===== And this is my /etc/src.conf: ===== /etc/src.conf ===== WITH_SYSTEM_COMPILER=yes WITHOUT_CROSS_COMPILER=yes WITHOUT_LLVM_TARGET_ALL=yes WITHOUT_TESTS=yes WITHOUT_ATM=yes WITHOUT_BLUETOOTH=yes WITHOUT_CXGBETOOL=yes WITHOUT_FDT=yes WITHOUT_FLOPPY=yes WITHOUT_HTML=yes WITHOUT_HYPERV=yes WITHOUT_IPFILTER=yes WITHOUT_LOADER_OFW=yes WITHOUT_LOADER_UBOOT=yes WITHOUT_MLX5TOOL=yes WITHOUT_NDIS=yes WITHOUT_NVME=yes WITHOUT_PORTSNAP=yes WITHOUT_PPP=yes WITHOUT_PROFILE=yes WITHOUT_ROUTED=yes WITHOUT_SENDMAIL=yes WITHOUT_TALK=yes WITHOUT_WIRELESS=yes WITHOUT_WPA_SUPPLICANT_EAPOL=yes ===== Finally, here is the error I got today in updating my 13.1-STABLE (stable/13-n252248-adbcdbee602d) system: ===== [[...]] --- all_subdir_usr.bin/clang --- Building /usr/obj/usr/src/amd64.amd64/usr.bin/clang/lld/ELF/Target.o --- all_subdir_usr.bin/objcopy --- Building /usr/obj/usr/src/amd64.amd64/usr.bin/objcopy/segments.o Building /usr/obj/usr/src/amd64.amd64/usr.bin/objcopy/symbols.o Building /usr/obj/usr/src/amd64.amd64/usr.bin/objcopy/objcopy.full Building /usr/obj/usr/src/amd64.amd64/usr.bin/objcopy/objcopy.1 Building /usr/obj/usr/src/amd64.amd64/usr.bin/objcopy/strip.1.gz Building /usr/obj/usr/src/amd64.amd64/usr.bin/objcopy/objcopy.debug Building /usr/obj/usr/src/amd64.amd64/usr.bin/objcopy/objcopy.1.gz Building /usr/obj/usr/src/amd64.amd64/usr.bin/objcopy/objcopy --- objcopy --- objcopy: open objcopy failed: Text file busy *** [objcopy] Error code 1 make[4]: *** objcopy removed make[4]: stopped in /usr/src/usr.bin/objcopy .ERROR_TARGET='objcopy' .ERROR_META_FILE='/usr/obj/usr/src/amd64.amd64/usr.bin/objcopy/objcopy.meta' .MAKE.LEVEL='4' MAKEFILE='' .MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose' _ERROR_CMD='objcopy --strip-debug --add-gnu-debuglink=objcopy.debug objcopy.full objcopy;' .CURDIR='/usr/src/usr.bin/objcopy' .MAKE='make' .OBJDIR='/usr/obj/usr/src/amd64.amd64/usr.bin/objcopy' .TARGETS='all' DESTDIR='/usr/obj/usr/src/amd64.amd64/tmp' LD_LIBRARY_PATH='' MACHINE='amd64' MACHINE_ARCH='amd64' MAKEOBJDIRPREFIX='' MAKESYSPATH='/usr/src/share/mk' MAKE_VERSION='20220208' PATH='/usr/obj/usr/src/amd64.amd64/tmp/bin:/usr/obj/usr/src/amd64.amd64/tmp/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/libexec::/sbin:/bin:/usr/sbin:/usr/bin' SRCTOP='/usr/src' OBJTOP='/usr/obj/usr/src/amd64.amd64' [13/1968] .MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk /etc/src-env.conf /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/src.sys.obj.mk /usr/src/share/mk/auto.obj.mk /usr/src/share/mk/bsd.suffixes.mk /etc/make.conf /usr/src/share/mk/local.sys.mk /usr/src/share/mk/src.sys.mk /etc/src.conf /usr/src/usr.bin/objcopy/Makefile /usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.linker.mk /usr/src/share/mk/bsd.prog.mk /usr/src/share/mk/bsd.init.mk /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init.mk /usr/src/usr.bin/objcopy/../Makefile.inc /usr/src/share/mk/bsd.libnames.mk /usr/src/share/mk/src.libnames.mk /usr/src/share/mk/bsd.nls.mk /usr/src/share/mk/bsd.confs.mk /usr/src/share/mk/bsd.files.mk /usr/src/share/mk/bsd.dirs.mk /usr/src/share/mk/bsd.incs.mk /usr/src/share/mk/bsd.links.mk /usr/src/share/mk/bsd.man.mk /usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk /usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.subdir.mk /usr/src/share/mk/bsd.sys.mk /dev/null'.PATH='. /usr/src/usr.bin/objcopy /usr/src/contrib/elftoolchain/elfcopy' 1 error make[4]: stopped in /usr/src/usr.bin/objcopy .ERROR_TARGET='objcopy' .ERROR_META_FILE='/usr/obj/usr/src/amd64.amd64/usr.bin/objcopy/objcopy.meta' .MAKE.LEVEL='4' MAKEFILE='' .MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose' _ERROR_CMD='objcopy --strip-debug --add-gnu-debuglink=objcopy.debug objcopy.full objcopy;' .CURDIR='/usr/src/usr.bin/objcopy' .MAKE='make' .OBJDIR='/usr/obj/usr/src/amd64.amd64/usr.bin/objcopy' .TARGETS='all' DESTDIR='/usr/obj/usr/src/amd64.amd64/tmp' LD_LIBRARY_PATH='' MACHINE='amd64' MACHINE_ARCH='amd64' MAKEOBJDIRPREFIX='' MAKESYSPATH='/usr/src/share/mk' MAKE_VERSION='20220208' PATH='/usr/obj/usr/src/amd64.amd64/tmp/bin:/usr/obj/usr/src/amd64.amd64/tmp/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/libexec::/sbin:/bin:/usr/sbin:/usr/bin' SRCTOP='/usr/src' OBJTOP='/usr/obj/usr/src/amd64.amd64' .MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk /etc/src-env.conf /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/src.sys.obj.mk /usr/src/share/mk/auto.obj.mk /usr/src/share/mk/bsd.suffixes.mk /etc/make.conf /usr/src/share/mk/local.sys.mk /usr/src/share/mk/src.sys.mk /etc/src.conf /usr/src/usr.bin/objcopy/Makefile /usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.linker.mk /usr/src/share/mk/bsd.prog.mk /usr/src/share/mk/bsd.init.mk /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init.mk /usr/src/usr.bin/objcopy/../Makefile.inc /usr/src/share/mk/bsd.libnames.mk /usr/src/share/mk/src.libnames.mk /usr/src/share/mk/bsd.nls.mk /usr/src/share/mk/bsd.confs.mk /usr/src/share/mk/bsd.files.mk /usr/src/share/mk/bsd.dirs.mk /usr/src/share/mk/bsd.incs.mk /usr/src/share/mk/bsd.links.mk /usr/src/share/mk/bsd.man.mk /usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk /usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.subdir.mk /usr/src/share/mk/bsd.sys.mk /dev/null' .PATH='. /usr/src/usr.bin/objcopy /usr/src/contrib/elftoolchain/elfcopy' make[3]: stopped in /usr/src/usr.bin --- all_subdir_usr.bin/clang --- make[4]: stopped in /usr/src/usr.bin/clang --- all_subdir_usr.bin/readelf --- make[3]: stopped in /usr/src/usr.bin --- all_subdir_usr.bin/clang --- make[3]: stopped in /usr/src/usr.bin make[2]: stopped in /usr/src make[1]: stopped in /usr/src make: stopped in /usr/src ===== Note: I am running "make -j8 buildworld" when building world. Cheers, Paul.