Re: kselftest build broken?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 11, 2019 at 9:20 PM shuah <shuah@xxxxxxxxxx> wrote:
>
> On 6/11/19 10:03 AM, Dmitry Vyukov wrote:
> > On Tue, Jun 11, 2019 at 5:16 PM shuah <shuah@xxxxxxxxxx> 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/raw/7babc4db228b88f341a376c15e8bc9c4c3b02160/gistfile1.txt
> >>>
> >>> 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)



I've installed libcap-dev and resolved the missing header.

I've also installed llvm llvm-6.0  llvm-6.0-dev  llvm-6.0-doc
libllvm6.0  llvm-6.0-runtime llvm-runtime and it fixed crashing
compiler.
But bpf tests build was still failing due to missing libelf. But I had
the library, so I went and removed some random files:
tools/testing/selftests/bpf/{feature,FEATURE-DUMP.libbpf}. Don't ask
me why these.

I am now down to just 1 build error:

  CC       /usr/local/google/home/dvyukov/src/linux/tools/testing/selftests/bpf/str_error.o
timestamping.c:249:19: error: ‘SIOCGSTAMP’ undeclared (first use in
this function); did you mean ‘SIOCGSTAMPNS’?




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux