On 6/11/19 10:03 AM, Dmitry Vyukov wrote:
On Tue, Jun 11, 2019 at 5:16 PM shuah shuah@kernel.org wrote:
Hi Dmitry,
On 6/11/19 4:30 AM, Dmitry Vyukov wrote:
Hi,
I've tried to build kselftests for several years now, but I always find the build broken. Which makes me wonder if the instructions are broken or something. I follow the instructions in Documentation/dev-tools/kselftest.rst and start with "make -C tools/testing/selftests". Here is the errors I get on the upstream commit 16d72dd4891fecc1e1bf7ca193bb7d5b9804c038:
error: unable to create target: 'No available targets are compatible
with triple "bpf"' 1 error generated. Makefile:259: recipe for target 'elfdep' failed Makefile:156: recipe for target 'all' failed Makefile:106: recipe for target '/linux/tools/testing/selftests/bpf/libbpf.a' failed test_execve.c:4:10: fatal error: cap-ng.h: No such file or directory
These errors are due to missing dependencies. You will need
libmount-dev libcap-ng-dev libelf-dev
for bpf to build and also clang
../lib.mk:138: recipe for target '/linux/tools/testing/selftests/capabilities/test_execve' failed gpio-mockup-chardev.c:20:10: fatal error: libmount.h: No such file or directory > <builtin>: recipe for target 'gpio-mockup-chardev' failed fuse_mnt.c:17:10: fatal error: fuse.h: No such file or directory
libfuse-dev is missing.
../lib.mk:138: recipe for target '/linux/tools/testing/selftests/memfd/fuse_mnt' failed collect2: error: ld returned 1 exit status ../lib.mk:138: recipe for target '/linux/tools/testing/selftests/mqueue/mq_open_tests' failed
Needs libpopt-dev
reuseport_bpf_numa.c:24:10: fatal error: numa.h: No such file or directory
Needs libnuma-dev
../lib.mk:138: recipe for target '/linux/tools/testing/selftests/net/reuseport_bpf_numa' failed mlock-random-test.c:8:10: fatal error: sys/capability.h: No such file or directory > ../lib.mk:138: recipe for target '/linux/tools/testing/selftests/vm/mlock-random-test' failed
Here is full log:
https://gist.githubusercontent.com/dvyukov/47430636e160f297b657df5ba2efa82b/...
I have libelf-dev installed. Do I need to install something else? Or run some other command?
ii libelf-dev:amd 0.170-0.4ubu amd64 libelf1 development libraries and ii libelf1:amd64 0.170-0.4ubu amd64 library to read and write ELF fil
All of the above built for me on Linux 5.2-rc4. Try installing all of these and let me know if you still see problems.
Hi Shuah,
Thanks for quick reply!
I've installed these: libmount-dev libcap-ng-dev libfuse-dev libpopt-dev libnuma-dev. libelf-dev I already had. And for clang I switched to distro-provided one.
This reduced number of errors, but I still see some:
clang: error: unable to execute command: Broken pipe clang: error: clang frontend command failed due to signal (use -v to see invocation) Makefile:259: recipe for target 'elfdep' failed Makefile:156: recipe for target 'all' failed Makefile:106: recipe for target '/linux/tools/testing/selftests/bpf/libbpf.a' failed
Getting bpf compile to work take a few steps. If I remember correctly, You will need llvm as well. Here is what I have on my system:
ii libllvm6.0:amd 1:6.0-1ubunt amd64 Modular compiler and toolchain te ii llvm 1:6.0-41~exp amd64 Low-Level Virtual Machine (LLVM) ii llvm-6.0 1:6.0-1ubunt amd64 Modular compiler and toolchain te ii llvm-6.0-dev 1:6.0-1ubunt amd64 Modular compiler and toolchain te un llvm-6.0-doc <none> <none> (no description available) ii llvm-6.0-runti 1:6.0-1ubunt amd64 Modular compiler and toolchain te ii llvm-runtime 1:6.0-41~exp amd64 Low-Level Virtual Machine (LLVM),
timestamping.c:249:19: error: ‘SIOCGSTAMP’ undeclared (first use in this function); did you mean ‘SIOCGSTAMPNS’? ../../lib.mk:138: recipe for target '/linux/tools/testing/selftests/networking/timestamping/timestamping' failed mlock-random-test.c:8:10: fatal error: sys/capability.h: No such file or directory
Do you have libcap-dev installed?
ii libcap-dev:amd 1:2.25-1.2 amd64 POSIX 1003.1e capabilities (devel ii libcap-ng-dev 0.7.7-3.1 amd64 Development and header files for ii libcap-ng0:amd 0.7.7-3.1 amd64 An alternate POSIX capabilities l ii libcap2:amd64 1:2.25-1.2 amd64 POSIX 1003.1e capabilities (libra ii libcap2-bin 1:2.25-1.2 amd64 POSIX 1003.1e capabilities (utili un libcap2-dev <none> <none> (no description available)
thanks, -- Shuah