Re: buildworld failed (usr.bin/kyua)

From: Brooks Davis <brooks_at_freebsd.org>
Date: Fri, 27 Mar 2020 20:07:08 +0000
On Fri, Mar 27, 2020 at 06:40:18PM +0500, Ruslan Garipov wrote:
> I failed to update FreeBSD 13.0-CURRENT amd64 r359231 to r359351.
> 
> End of the build log:
> 
> $ su root -c "make -j16 buildworld"
> ...
> ld: error: unable to find library -lkyua_cli_pie
> ld: error: unable to find library -lkyua_drivers_pie
> ld: error: unable to find library -lkyua_model_pie
> ld: error: unable to find library -llutok_pie
> ld: error: unable to find library -lkyua_engine_pie
> ld: error: unable to find library -llutok_pie
> ld: error: unable to find library -lkyua_utils_pie
> ld: error: unable to find library -llutok_pie
> ld: error: unable to find library -lkyua_store_pie
> ld: error: unable to find library -lkyua_model_pie
> ld: error: unable to find library -llutok_pie
> ld: error: unable to find library -lkyua_utils_pie
> ld: error: unable to find library -llutok_pie
> ld: error: unable to find library -lkyua_engine_pie
> ld: error: unable to find library -llutok_pie
> ld: error: unable to find library -lkyua_utils_pie
> ld: error: unable to find library -llutok_pie
> ld: error: unable to find library -lkyua_model_pie
> ld: error: unable to find library -llutok_pie
> ld: error: unable to find library -lkyua_store_pie
> ld: error: too many errors emitted, stopping now (use -error-limit=0
> to see all errors)
> c++: error: linker command failed with exit code 1 (use -v to see
> invocation)
> --- all_subdir_lib ---
> --- cpuset_getdomain.po ---
> --- all_subdir_usr.bin ---
> *** [kyua] Error code 1
> 
> make[4]: stopped in /usr/src/usr.bin/kyua
> 1 error
> 
> make[4]: stopped in /usr/src/usr.bin/kyua
> *** [all_subdir_usr.bin/kyua] Error code 2
> ...
> 
> May be it's related to r359260[1].  Therefore, here is my TEST-settings:
> 
> $ fgrep TEST /etc/src.conf
> WITHOUT_GOOGLETEST=
> WITHOUT_TESTS=
> WITH_TESTS_SUPPORT=
> 
> Also what has confused me: it's a virtual machine which failed to build.
> A physical one built userland and kernel just fine.  Both the physical
> and virtual machines have almost the same (differ only by CPU
> "selection" options) make.conf and src.conf and different kernel
> configurations.  Both the machines were FreeBSD 13.0-CURRENT amd64
> r359231.  I've started to build on clean systems (no /usr/obj at all).
> 
> Can anyone help me to resolve this issue?

I've replicated this issue and it goes back the the way
WITH_TESTS_SUPPORT was implemented way back in r273449

This patch fixes WITHOUT_TESTS=t WITH_TESTS_SUPPORT=t for me.

Index: Makefile.inc1
===================================================================
--- Makefile.inc1       (revision 359367)
+++ Makefile.inc1       (working copy)
_at__at_ -1100,7 +1100,7 _at__at_
 	_at_echo
"--------------------------------------------------------------"
 	${_+_}cd ${.CURDIR}; \
 	    ${WMAKE} -DNO_FSCHG MK_HTML=no -DNO_LINT MK_MAN=no \
-	    MK_PROFILE=no MK_TESTS=no MK_TESTS_SUPPORT=${MK_TESTS}
libraries
+	    MK_PROFILE=no MK_TESTS=no libraries
 everything: .PHONY
 	_at_echo
 	_at_echo
"--------------------------------------------------------------

I've not committed it yet because I'm trying to figure out why this was
needed.  I simply don't see how there could be a race between lib/aft and
libexec/aft as described.  I suspect this may have been an error.

-- Brooks

Received on Fri Mar 27 2020 - 19:07:27 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:23 UTC