All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: Andrii Nakryiko <andrii.nakryiko@gmail.com>
Cc: "Randy Dunlap" <rdunlap@infradead.org>,
	"Jiri Olsa" <jolsa@kernel.org>,
	"Toke Høiland-Jørgensen" <toke@redhat.com>,
	bpf <bpf@vger.kernel.org>
Subject: Re: finding libelf
Date: Wed, 3 Feb 2021 21:33:40 +0100	[thread overview]
Message-ID: <YBsIpCQG3QLcYLVw@krava> (raw)
In-Reply-To: <CAEf4BzbvQPmaDauPeH5FiqgjVjf-TA+kKL6gsN505q02Un6QZA@mail.gmail.com>

On Wed, Feb 03, 2021 at 12:06:10PM -0800, Andrii Nakryiko wrote:
> On Wed, Feb 3, 2021 at 11:39 AM Andrii Nakryiko
> <andrii.nakryiko@gmail.com> wrote:
> >
> > On Wed, Feb 3, 2021 at 9:22 AM Randy Dunlap <rdunlap@infradead.org> wrote:
> > >
> > > On 2/3/21 2:57 AM, Toke Høiland-Jørgensen wrote:
> > > > Randy Dunlap <rdunlap@infradead.org> writes:
> > > >
> > > >> Hi,
> > > >>
> > > >> I see this sometimes when building a kernel: (on x86_64,
> > > >> with today's linux-next 20210202):
> > > >>
> > > >>
> > > >> CONFIG_CGROUP_BPF=y
> > > >> CONFIG_BPF=y
> > > >> CONFIG_BPF_SYSCALL=y
> > > >> CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
> > > >> CONFIG_BPF_PRELOAD=y
> > > >> CONFIG_BPF_PRELOAD_UMD=m
> > > >> CONFIG_HAVE_EBPF_JIT=y
> > > >>
> > > >>
> > > >> Auto-detecting system features:
> > > >> ...                        libelf: [ [31mOFF[m ]
> > > >> ...                          zlib: [ [31mOFF[m ]
> > > >> ...                           bpf: [ [31mOFF[m ]
> > > >>
> > > >> No libelf found
> > > >> make[5]: [Makefile:287: elfdep] Error 1 (ignored)
> > > >> No zlib found
> > > >> make[5]: [Makefile:290: zdep] Error 1 (ignored)
> > > >> BPF API too old
> > > >> make[5]: [Makefile:293: bpfdep] Error 1 (ignored)
> > > >>
> > > >>
> > > >> but pkg-config tells me:
> > > >>
> > > >> $ pkg-config --modversion  libelf
> > > >> 0.168
> > > >> $ pkg-config --libs  libelf
> > > >> -lelf
> > > >>
> > > >>
> > > >> Any ideas?
> > > >
> > > > This usually happens because there's a stale cache of the feature
> > > > detection tests lying around somewhere. Look for a 'feature' directory
> > > > in whatever subdir you got that error. Just removing the feature
> > > > directory usually fixes this; I've fixed a couple of places where this
> > > > is not picked up by 'make clean' (see, e.g., 9d9aae53b96d ("bpf/preload:
> > > > Make sure Makefile cleans up after itself, and add .gitignore")) but I
> > > > wouldn't be surprised if there are still some that are broken.
> > >
> > > Hi,
> > >
> > > Thanks for replying.
> > >
> > > I removed the feature subdir and still got this build error, so I
> > > removed everything in BUILDDIR/kernel/bpf/preload and rebuilt --
> > > and still got the same libelf build error.
> >
> > I hate the complexity of feature detection framework to the point that
> > I'm willing to rip it out from libbpf's Makefile completely. I just
> > spent an hour trying to understand what's going on in a very similar
> > situation. Extremely frustrating.
> >
> > In your case, it might be feature detection triggered from
> > resolve_btfids, so try removing
> > $(OUTPUT)/tools/bpf/resolve_btfids/{feature/,FEATURE-DUMP.libbpf}.
> >
> > It seems like we don't do proper cleanup in resolve_btfids (it should
> > probably call libbpf's clean as well). And it's beyond me why `make -C
> > tools/build/feature clean` doesn't clean up FEATURE-DUMP.<use-case>
> > file as well.
> 
> So resolve_btfids does call libbpf's clean, but Linux Kbuild never
> calls resolve_btfids' clean. Jiri, do you think that could be
> improved? Basically, if something goes wrong with feature detection,
> no amount of `make clean` would help and users will be forced to
> struggle with frustrating experience trying to understand what's going
> on.

ok, that one is missing.. will add

> 
> I also still think that FEATURE-DUMP should be cleaned up by feature
> infra on clean and that's not happening today, but I'm unwilling to go
> and untangle all that complexity right now.

I haven't seen this error for some time so I thought we got rid of it,
I'll try to reproduce and fix

jirka


  reply	other threads:[~2021-02-03 20:35 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-03  3:50 finding libelf Randy Dunlap
2021-02-03 10:57 ` Toke Høiland-Jørgensen
2021-02-03 17:20   ` Randy Dunlap
2021-02-03 19:39     ` Andrii Nakryiko
2021-02-03 20:06       ` Andrii Nakryiko
2021-02-03 20:33         ` Jiri Olsa [this message]
2021-02-04 10:55         ` Jiri Olsa
2021-02-03 20:09       ` Randy Dunlap
2021-02-03 20:12         ` Andrii Nakryiko
2021-02-03 20:14           ` Randy Dunlap
2021-02-03 20:33             ` Andrii Nakryiko
2021-02-03 20:36               ` Randy Dunlap
2021-02-03 20:41                 ` Randy Dunlap
2021-02-03 20:41                 ` Andrii Nakryiko
2021-02-03 20:57                   ` Randy Dunlap
2021-02-03 21:31                     ` Andrii Nakryiko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YBsIpCQG3QLcYLVw@krava \
    --to=jolsa@redhat.com \
    --cc=andrii.nakryiko@gmail.com \
    --cc=bpf@vger.kernel.org \
    --cc=jolsa@kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=toke@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.