'BTF: .tmp_vmlinux.btf: pahole (pahole) is not available

Getting this error while compiling the kernel version :5.7-rc4

BTF: .tmp_vmlinux.btf: pahole (pahole) is not available
Failed to generate BTF for vmlinux
Try to disable CONFIG_DEBUG_INFO_BTF
make: *** [Makefile:1106: vmlinux] Error 1


Solution 1:[1]

Try to install dwarves:

$ sudo apt install dwarves

Solution 2:[2]

On Fedora, Getting this error while compiling the kernel version :5.7.2(stable)

Try to install

$ sudo dnf install dwarves

Solution 3:[3]

On Arch use sudo pacman -S pahole

Solution 4:[4]

Dwarves it is indeed and as a me too then, on OpenSuse tumbleweed

$ sudo zypper in dwarves

Solution 5:[5]

I also encountered the same question and i solved by this method, to enable the powertools:

vim /etc/yum.repo.d/CentOS-Linux-PowerTools.repo

enabled=1

Solution 6:[6]

Getting same error with the Debian/WSL distro. No newer dwarves than 1.10-2.1+b1.

Apparently this is Debian Stretch (v9), and it needs to be updated to Bullseye (v11). This doc details how to move from Buster to Bullseye, i.e. 10 to 11 but it's the same process from 9.

Following the upgrade, we get

$  apt list dwarves
Listing... Done
dwarves/stable,now 1.20-1 amd64 [installed]
$ pahole --version
v1.20

...and you can go back and run your make.

Solution 7:[7]

BPF Type Format can be disabled in config, so pahole won't be needed.

In the kernel config:

CONFIG_DEBUG_INFO_BTF=n

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Patrik Gfeller
Solution 2 Wayne
Solution 3 Rafael Malheiros
Solution 4 Coffee_fan
Solution 5 David Liu
Solution 6 Rich
Solution 7 Adam