Em Thu, Apr 15, 2021 at 12:01:23PM +0800, Tiezhu Yang escreveu: > (1) tools/bpf/bpftool build failed due to the following reason: > > Error: failed to load BTF from /boot/vmlinux-5.12.0-rc2: No such > file or directory > make: *** [Makefile:158: vmlinux.h] Error 2 > > (2) When set CONFIG_DEBUG_INFO_BTF=y, failed to generate BTF for vmlinux > due to pahole is not available > > BTF: .tmp_vmlinux.btf: pahole (pahole) is not available > Failed to generate BTF for vmlinux > Try to disable CONFIG_DEBUG_INFO_BTF > make: *** [Makefile:1197: vmlinux] Error 1 > > (3) When build pahole from tar.gz source code, it still failed > due to no libbpf submodule. You're getting the tarball from the wrong place, you should get it from: https://fedorapeople.org/~acme/dwarves/dwarves-1.21.tar.xz Please read the announcement: https://lore.kernel.org/bpf/YHRiXNX1JUF2Az0A@xxxxxxxxxx/ - Arnaldo > loongson@linux:~$ wget https://git.kernel.org/pub/scm/devel/pahole/pahole.git/snapshot/pahole-1.21.tar.gz > loongson@linux:~$ tar xf pahole-1.21.tar.gz > loongson@linux:~$ cd pahole-1.21 > loongson@linux:~/pahole-1.21$ mkdir build > loongson@linux:~/pahole-1.21$ cd build/ > loongson@linux:~/pahole-1.21/build$ cmake -D__LIB=lib .. > -- The C compiler identification is GNU 10.2.1 > -- Detecting C compiler ABI info > -- Detecting C compiler ABI info - done > -- Check for working C compiler: /usr/bin/cc - skipped > -- Detecting C compile features > -- Detecting C compile features - done > -- Checking availability of DWARF and ELF development libraries > -- Looking for dwfl_module_build_id in elf > -- Looking for dwfl_module_build_id in elf - found > -- Found dwarf.h header: /usr/include > -- Found elfutils/libdw.h header: /usr/include > -- Found libdw library: /usr/lib/mips64el-linux-gnuabi64/libdw.so > -- Found libelf library: /usr/lib/mips64el-linux-gnuabi64/libelf.so > -- Checking availability of DWARF and ELF development libraries - done > -- Found ZLIB: /usr/lib/mips64el-linux-gnuabi64/libz.so (found > version "1.2.11") > CMake Error at CMakeLists.txt:60 (message): > The submodules were not downloaded! GIT_SUBMODULE was turned off > or failed. > Please update submodules and try again. > > -- Configuring incomplete, errors occurred! > See also "/home/loongson/pahole-1.21/build/CMakeFiles/CMakeOutput.log". > > (4) I notice that the pahole git source code can build successful because > it will clone libbpf automatically: > > -- Submodule update > Submodule 'lib/bpf' (https://github.com/libbpf/libbpf) registered > for path 'lib/bpf' > Cloning into '/home/loongson/pahole/lib/bpf'... > Submodule path 'lib/bpf': checked out > '986962fade5dfa89c2890f3854eb040d2a64ab38' > -- Submodule update - done > > (5) So Will the pahole tar source code with corresponding libbpf > submodule codes > be released as well in the future? just like bcc: > https://github.com/iovisor/bcc/releases > https://github.com/iovisor/bcc/commit/708f786e3784dc32570a079f2ed74c35731664ea > > Thanks, > Tiezhu