Re: buildworld fail: ld: error: undefined symbol: test_no_kevents

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Mon, 06 Jun 2022 10:16:44 UTC
Looks like it might be using an old version of tests/sys/kqueue/libkqueue/common.h, after https://cgit.freebsd.org/src/commit/?id=c728c56c870abe230e45cee5c477f0d890ebacef ?

Without seeing how the .o files have been compiled, specifically with which -I flags, it is impossible to see what is going wrong, though.

-Dimitry

> On 6 Jun 2022, at 11:59, Ronald Klop <ronald-lists@klop.ws> wrote:
> 
> Hi,
> 
> Building on aarch64/14-CURRENT fails with this error on my rpi4.
> It failed on incremental build and tried a clean build today.
> 
> First failure was on "World build started on Sun May 29 00:25:17 UTC 2022".
> 
> This weekend it still fails (I'm building weekly in Jenkins).
> 10:04:44 ===> tests/sys/kqueue/libkqueue (all)
> 10:04:44 --- kqueue_test ---
> 10:04:44 (cd /usr/src/tests/sys/kqueue/libkqueue &&  DEPENDFILE=.depend.kqueue_test  NO_SUBDIR=1 /usr/bin/make -f /usr/src/tests/sys/kqueue/libkqueue/Makefile _RECURSING_PROGS=t  PROG=kqueue_test )
> 10:04:44 --- kqueue_test.full ---
> 10:04:44 cc -target aarch64-unknown-freebsd14.0 --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin -O2 -pipe -fno-common -fPIE -g -gz=zlib -std=gnu99 -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Wnested-externs -Wold-style-definition -Wno-pointer-sign -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-error=unused-but-set-variable -Qunused-arguments  -pie  -o kqueue_test.full main.o read.o timer.o vnode.o proc.o signal.o user.o
> 10:04:44 ld: error: undefined symbol: test_no_kevents
> 10:04:45 >>> referenced by read.c:169 (/usr/src/tests/sys/kqueue/libkqueue/read.c:169)
> 10:04:45 >>>               read.o:(test_evfilt_read)
> 10:04:45 >>> referenced by read.c:75 (/usr/src/tests/sys/kqueue/libkqueue/read.c:75)
> 10:04:45 >>>               read.o:(test_evfilt_read)
> 10:04:45 >>> referenced by read.c:137 (/usr/src/tests/sys/kqueue/libkqueue/read.c:137)
> 10:04:45 >>>               read.o:(test_evfilt_read)
> 10:04:45 >>> referenced 31 more times
> 10:04:45 >>> did you mean: _test_no_kevents
> 10:04:45 >>> defined in: main.o
> 10:04:45
> 10:04:45 ld: error: undefined symbol: kevent_cmp
> 10:04:45 >>> referenced by read.c:72 (/usr/src/tests/sys/kqueue/libkqueue/read.c:72)
> 10:04:45 >>>               read.o:(test_evfilt_read)
> 10:04:45 >>> referenced by read.c:145 (/usr/src/tests/sys/kqueue/libkqueue/read.c:145)
> 10:04:45 >>>               read.o:(test_evfilt_read)
> 10:04:45 >>> referenced by read.c:193 (/usr/src/tests/sys/kqueue/libkqueue/read.c:193)
> 10:04:45 >>>               read.o:(test_evfilt_read)
> 10:04:45 >>> referenced 14 more times
> 10:04:45 >>> did you mean: _kevent_cmp
> 10:04:45 >>> defined in: main.o
> 10:04:45 cc: error: linker command failed with exit code 1 (use -v to see invocation)
> 10:04:45       668.58 real       125.97 user        62.12 sys
> 10:04:45
> 10:04:45 make[1]: stopped in /usr/src
> 10:04:45
> 10:04:45 make: stopped in /usr/src
> 10:04:45 Build step 'Execute shell' marked build as failure
> 10:04:46 Skipped archiving because build is not successful
> 10:04:46 Sending e-mails to: xxxx@yyyy.zzz
> 10:04:47 Finished: FAILURE
> 
> Any thoughts? Similar experience?
> 
> Regards,
> Ronald.
> 
>