(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.
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