On 12/3/25 15:01, Guenter Roeck wrote:
On 12/3/25 13:51, Shuah Khan wrote:
On 12/3/25 14:01, Guenter Roeck wrote:
On 12/3/25 09:55, Randy Dunlap wrote:
On 12/3/25 9:25 AM, Shuah wrote:
On 12/2/25 22:20, Guenter Roeck wrote:
Hi,
when trying to build tools/testing/selftests, I get a lot of warnings such as
mount-notify_test.c: In function ‘fanotify_fsmount’:
mount-notify_test.c:360:14: warning: implicit declaration of function ‘fsopen’;
did you mean ‘fdopen’?
and subsequent build errors.
testing/selftests/filesystems/mount-notify/mount-notify_test.c:360: undefined
reference to `fsopen'
/usr/bin/ld:
tools/testing/selftests/filesystems/mount-notify/mount-notify_test.c:363:
undefined reference to `fsconfig'
/usr/bin/ld:tools/testing/selftests/filesystems/mount-notify/mount-notify_test.c:366:
undefined reference to `fsmount'
/usr/bin/ld:
tools/testing/selftests/filesystems/mount-notify/mount-notify_test.c:371:
undefined reference to `move_mount'
This usually indicates missing libraries or header path
issues.
This does not just affect a single file, but several of them.
What am I missing ? Is there some magic needed to build the selftests ?
Not sure. It built fine for me on Linux 6.18 latest. Are you missing
a library possibly?
Guenter, did you follow Documentation/dev-tools/kselftest.rst?
The document says
To build the tests::
$ make headers
$ make -C tools/testing/selftests
which is what I did.
I did run
kselftest_deps.sh gcc
which tells me
FAIL: net/tcp_ao/Makefile dependency check: $(LIB)
FAIL: bpf/Makefile dependency check: $(LIBELF_LIBS)
FAIL: bpf/Makefile dependency check: $(PCAP_LIBS)
FAIL: net/netfilter/Makefile dependency check: $(MNL_LDLIBS)
FAIL: net/netfilter/Makefile dependency check: $(MNL_LDLIBS)
--------------------------------------------------------
Targets failed build dependency check on system:
bpf net
--------------------------------------------------------
Missing libraries system
$(LIB) $(LIBELF_LIBS) $(MNL_LDLIBS) $(PCAP_LIBS)
which doeesn't really help. For example, PCAP_LIBS seems to refer to libpcap,
and I have libpcap-dev installed on my system.
Unless I am missing something that doesn't explain the build failures.
I ran "make kselftest-all" - mount-notify/mount-notify_test.c built
fine on Linux 6.18 - which repo are you trying on?
Can you try "make kselftest-all" and tell me what happens?
I also tried
make -C tools/testing/selftests
and
make -C tools/testing/selftests TARGETS="filesystems/mount-notify"
Which repo are you trying on?
Mainline. Anyway, the problem turns out to be the glibc version. The missing
functions
require glibc 2.36 or later, but I have glibc version 2.35 installed on the
affected system.
Ah that makes sense.
thanks,
-- Shuah