Hi Changbin, On Sun, Dec 18, 2022 at 06:35:08AM +0800, Changbin Du wrote: > Show the real problem instead of just saying "No such file or directory". > > Now will print below info: > libbpf: failed to find '.BTF' ELF section in /home/changbin/work/linux/vmlinux Recently I encountered the same issue, it could be caused by: either missing to install tool pahole or missing to enable kernel configuration CONFIG_DEBUG_INFO_BTF. Could we give explict info for reasoning failure? Like: "libbpf: failed to find '.BTF' ELF section in /home/changbin/work/linux/vmlinux, please install pahole and enable CONFIG_DEBUG_INFO_BTF=y for kernel building". > Error: failed to load BTF from /home/changbin/work/linux/vmlinux: No such file or directory This log is confusing when we can find vmlinux file but without BTF section. Consider to use a separate patch to detect vmlinux not found case and print out "No such file or directory"? Thanks, Leo > Signed-off-by: Changbin Du <changbin.du@xxxxxxxxx> > --- > tools/lib/bpf/btf.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c > index 71e165b09ed5..dd2badf1a54e 100644 > --- a/tools/lib/bpf/btf.c > +++ b/tools/lib/bpf/btf.c > @@ -990,6 +990,7 @@ static struct btf *btf_parse_elf(const char *path, struct btf *base_btf, > err = 0; > > if (!btf_data) { > + pr_warn("failed to find '%s' ELF section in %s\n", BTF_ELF_SEC, path); > err = -ENOENT; > goto done; > } > -- > 2.37.2 >