Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 May 2017 11:10:12 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>
Cc:        Bryan Drewery <bdrewery@FreeBSD.org>
Subject:   A head -r317820 incremental buildworld race: kvm_geterr_test failures for -j16 but works without -j<?>
Message-ID:  <DDAA2819-9035-495C-8A76-408D0FD260DF@dsl-only.net>

next in thread | raw e-mail | index | archive | help
I've had reason to be experimenting with libkvm recently
and have repeatedly run into the following when doing
buildworld with -j16. (I tend to run full buildworlds even
for well-localized changes.) The context is having run
buildworld to completion before so the update is
incremental.

--- kvm_geterr_test ---
kvm_geterr_test.o: In function =
`atfu_kvm_geterr_negative_test_NULL_body':
/usr/src/lib/libkvm/tests/kvm_geterr_test.c:56: undefined reference to =
`errbuf_has_error'
kvm_geterr_test.o: In function =
`atfu_kvm_geterr_positive_test_no_error_body':
. . .
--- kvm_geterr_test ---
/usr/src/lib/libkvm/tests/kvm_geterr_test.c:108: undefined reference to =
`errbuf_clear'
/usr/src/lib/libkvm/tests/kvm_geterr_test.c:109: undefined reference to =
`errbuf'
/usr/src/lib/libkvm/tests/kvm_geterr_test.c:109: undefined reference to =
`errbuf'
/usr/src/lib/libkvm/tests/kvm_geterr_test.c:110: undefined reference to =
`errbuf_has_error'
kvm_geterr_test.o: In function =
`atfu_kvm_geterr_positive_test_error_body':
/usr/src/lib/libkvm/tests/kvm_geterr_test.c:73: undefined reference to =
`errbuf_clear'
/usr/src/lib/libkvm/tests/kvm_geterr_test.c:74: undefined reference to =
`errbuf'
/usr/src/lib/libkvm/tests/kvm_geterr_test.c:74: undefined reference to =
`errbuf'
/usr/src/lib/libkvm/tests/kvm_geterr_test.c:75: undefined reference to =
`errbuf_has_error'
/usr/src/lib/libkvm/tests/kvm_geterr_test.c:80: undefined reference to =
`errbuf_has_error'

By contrast if I omit -j<?> completely the incremental
buildworld runs to completion just fine. (rm -rf of the
past buildworld and so building from scratch also works.)

The context for my activity happens to use:

# more =
~/sys_build_scripts.amd64-host/make_powerpcvtsc_nodebug_gcc421_bootstrap_c=
lang-amd64-host.sh=20
kldload -n filemon && \
script =
~/sys_typescripts/typescript_make_powerpcvtsc_nodebug_gcc421_bootstrap_cla=
ng-amd64-host-$(date +%Y-%m-%d:%H:%M:%S) \
env __MAKE_CONF=3D"/root/src.configs/make.conf" SRCCONF=3D"/dev/null" =
SRC_ENV_CONF=3D"/root/src.configs/src.conf.powerpc-gcc421-bootstrap-clang.=
amd64-host" \
WITH_META_MODE=3Dyes \
MAKEOBJDIRPREFIX=3D"/usr/obj/powerpcvtsc_clang_gcc421" \
make $*

# more =
/root/src.configs/src.conf.powerpc-gcc421-bootstrap-clang.amd64-host
TO_TYPE=3Dpowerpc
#
KERNCONF=3DGENERICvtsc-NODBG
TARGET=3D${TO_TYPE}
.if ${.MAKE.LEVEL} =3D=3D 0
TARGET_ARCH=3D${TO_TYPE}
.export TARGET_ARCH
.endif
#
WITH_CROSS_COMPILER=3D
WITHOUT_SYSTEM_COMPILER=3D
#
WITHOUT_LIBCPLUSPLUS=3D
WITH_BINUTILS_BOOTSTRAP=3D
WITH_ELFTOOLCHAIN_BOOTSTRAP=3D
WITHOUT_CLANG_BOOTSTRAP=3D
WITHOUT_CLANG=3D
WITHOUT_CLANG_IS_CC=3D
WITHOUT_CLANG_FULL=3D
WITHOUT_CLANG_EXTRAS=3D
WITHOUT_LLD=3D
WITHOUT_LLDB=3D
#
WITH_BOOT=3D
WITHOUT_LIB32=3D
#
WITH_GCC_BOOTSTRAP=3D
WITH_GCC=3D
WITH_GCC_IS_CC=3D
WITH_GNUCXX=3D
#
NO_WERROR=3D
#WERROR=3D
MALLOC_PRODUCTION=3D
#
WITH_REPRODUCIBLE_BUILD=3D
WITH_DEBUG_FILES=3D


=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DDAA2819-9035-495C-8A76-408D0FD260DF>