Re: buildworld failed (usr.bin/kyua)

From: Brooks Davis <brooks_at_freebsd.org>
Date: Fri, 27 Mar 2020 23:29:03 +0000
On Fri, Mar 27, 2020 at 08:07:08PM +0000, Brooks Davis wrote:
> 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.

I've committed a different fix in r359382.

The above change fixed the case at hand, but broke the default.

-- Brooks

Received on Fri Mar 27 2020 - 22:35:40 UTC

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