netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	David Miller <davem@davemloft.net>,
	Networking <netdev@vger.kernel.org>,
	linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
	Alexei Starovoitov <ast@fb.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Arnaldo Carvalho de Melo <acme@infradead.org>
Subject: Re: linux-next: build failure after merge of the net tree
Date: Tue, 14 Feb 2017 09:50:20 -0300	[thread overview]
Message-ID: <20170214125020.GA4458@kernel.org> (raw)
In-Reply-To: <20170214091937.GA18546@krava>

Em Tue, Feb 14, 2017 at 10:19:37AM +0100, Jiri Olsa escreveu:
> On Tue, Feb 14, 2017 at 07:42:21AM +0100, Ingo Molnar wrote:
> > * Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> > > Unfortunately, the perf header files are kept separate from the kernel
> > > header files proper and are not automatically copied over :-(

> > No, that's wrong, the problem is not that headers were not shared, the problem is 
> > that a tooling interdependency was not properly tested *and* that the dependency 
> > was not properly implemented in the build system either.

> > Note that we had similar build breakages when include headers _were_ shared as 
> > well, so sharing the headers would only have worked around this particular bug and 
> > would have introduced fragility in other places...

> > The best, most robust solution in this particular case would be to fix the 
> > (tooling) build system to express the dependency, that would have shown the build 
> > failure right when the modification was done.
 
> so we have the warning now:
>   Warning: tools/include/uapi/linux/bpf.h differs from kernel
 
> do you want to change it into the build failure?

No. Differences in the copy are not always problematic, the problem here
lies elsewhere.

Please run:

  make -C tools all

To build all tools when you touch something in tools/include and/or
tools/lib/

- Arnaldo



Bored? Here is what I first wrote ;-)

Simply using the kernel original would require kernel hackers to build
all tools using that file, something we long decided not to do.

What I think Ingo meant with dependency at the build system level is to
somehow state that if file A gets changed, then tool B must be rebuilt.

Now that samples/bpf and tools/perf/ depend on tools/lib/bpf/ I _always_
build both, ditto for tools/objtool, that shares a different library
with tools/perf/, tools/lib/subcmd/:

ENTRYPOINT make -C /git/linux/tools/perf O=/tmp/build/perf && \
           rm -rf /tmp/build/perf/{.[^.]*,*} && \
           make NO_LIBELF=1 -C /git/linux/tools/perf O=/tmp/build/perf && \
           make -C /git/linux/tools/objtool O=/tmp/build/objtool && \
           make -C /git/linux O=/tmp/build/linux allmodconfig && \
           make -C /git/linux O=/tmp/build/linux headers_install && \
           make -C /git/linux O=/tmp/build/linux samples/bpf/

This is the default action for my
docker.io/acmel/linux-perf-tools-build-fedora:rawhide container.

It is published, so a:

   docker pull docker.io/acmel/linux-perf-tools-build-fedora:rawhide

And then run it before pushing things upstream would catch these kinds
of errors.

But that would possibly disrupt too much people's workflow, that is why
using the Kbuild originated tools/build/ we have to somehow express that
when a change is made in a file then a tool that uses that file needs to
be rebuilt.

Makefile rules probably would be enough, but then it would have to be
done at the tools/build/ level and all tools using shared components
would have to use it to trigger the rebuild.

- Arnaldo

  reply	other threads:[~2017-02-14 12:58 UTC|newest]

Thread overview: 134+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-13 22:12 linux-next: build failure after merge of the net tree Stephen Rothwell
2017-02-13 23:31 ` Alexei Starovoitov
2017-02-14  7:59   ` Joe Stringer
2017-02-14  6:35 ` Ingo Molnar
2017-02-14  6:42 ` Ingo Molnar
2017-02-14  9:19   ` Jiri Olsa
2017-02-14 12:50     ` Arnaldo Carvalho de Melo [this message]
2017-02-14 13:23       ` Jiri Olsa
2017-02-14 13:54         ` Arnaldo Carvalho de Melo
2017-02-16  3:02 ` Stephen Rothwell
2017-02-16  3:06   ` Alexei Starovoitov
2017-02-16  3:27     ` David Miller
2017-02-16  3:30       ` Alexei Starovoitov
2017-02-16  3:42       ` Stephen Rothwell
  -- strict thread matches above, loose matches on Subject: below --
2024-04-10 22:42 Stephen Rothwell
2023-05-17 23:06 Stephen Rothwell
2023-05-17 23:29 ` Stephen Rothwell
2023-05-18  4:42 ` Jakub Kicinski
2023-05-18  6:47   ` Paolo Abeni
2023-05-18  6:52     ` Dario Binacchi
2023-05-18  7:14       ` Paolo Abeni
2023-05-18  9:37   ` Marc Kleine-Budde
2021-07-06 23:11 Stephen Rothwell
2021-07-08  4:01 ` Stephen Rothwell
2018-11-15  6:02 Stephen Rothwell
2017-06-08  0:08 Stephen Rothwell
2017-06-08  0:17 ` David Miller
2017-06-08  7:22 ` Greg Kroah-Hartman
2017-06-08  9:00   ` Stephen Rothwell
2016-10-20 22:27 Stephen Rothwell
2016-10-20 22:42 ` Florian Fainelli
2016-10-21  0:30   ` Florian Fainelli
2016-10-21  0:43     ` Stephen Rothwell
2016-10-21  0:46       ` Florian Fainelli
2014-10-14 23:44 Stephen Rothwell
2014-10-15  2:02 ` David Miller
2014-10-15  5:24   ` Giuseppe CAVALLARO
2014-09-17  1:04 Stephen Rothwell
2014-09-17  1:12 ` Stephen Rothwell
2014-09-17  1:48 ` David Miller
2014-09-17  2:18   ` Stephen Rothwell
2014-09-16  0:24 Stephen Rothwell
2014-08-26  2:05 Stephen Rothwell
2014-08-26  3:22 ` David Miller
2014-08-26  3:33   ` Stephen Rothwell
2014-07-30  0:36 Stephen Rothwell
2014-07-30  8:26 ` Oliver Neukum
2014-07-04  1:39 Stephen Rothwell
2014-07-08  2:53 ` David Miller
2014-07-08 16:28   ` Florian Fainelli
2014-07-23 18:38   ` Vince Bridgers
2014-07-23 18:40     ` Florian Fainelli
2014-07-23 18:42       ` Vince Bridgers
2014-05-20  0:59 Stephen Rothwell
2014-05-20 14:50 ` Vlad Yasevich
2012-10-04  0:18 Stephen Rothwell
2012-10-04  0:50 ` David Miller
2012-10-04  1:06   ` Stephen Rothwell
2012-10-04  1:47     ` David Miller
2012-10-04  2:12       ` Jay Hernandez
2011-08-16  3:26 Stephen Rothwell
2011-08-16  4:03 ` David Miller
2011-08-12  2:02 Stephen Rothwell
2011-08-12  2:31 ` Jeff Kirsher
2011-08-12  2:51   ` David Miller
2011-08-12  3:05     ` Jeff Kirsher
2011-08-12  4:34       ` Stephen Rothwell
2011-08-12  5:22         ` Jeff Kirsher
2011-06-09  4:56 Stephen Rothwell
2011-06-09  5:17 ` Greg K-H
2011-06-09  5:39   ` Stephen Rothwell
2011-06-09 19:29     ` Greg KH
2011-06-10 20:28 ` Geert Uytterhoeven
2011-06-11  4:26   ` Stephen Rothwell
2011-06-11 11:39     ` Geert Uytterhoeven
2011-06-14 22:56 ` Stephen Rothwell
2011-06-20  4:58   ` Stephen Rothwell
2011-06-20  5:36     ` David Miller
2011-04-26  3:51 Stephen Rothwell
2011-04-26 19:43 ` David Miller
2011-04-13  2:03 Stephen Rothwell
2011-04-13  2:28 ` David Miller
2011-04-04  1:28 Stephen Rothwell
2011-04-04  2:43 ` David Miller
2011-03-14  4:24 Stephen Rothwell
2011-03-14  4:59 ` Ben Hutchings
2011-03-14  5:31   ` Stephen Rothwell
2011-03-14  5:53     ` David Miller
2011-03-14  6:05       ` Stephen Rothwell
2011-03-14  6:18         ` David Miller
2011-03-14  9:44         ` Thomas Gleixner
2011-03-14  9:56         ` Thomas Gleixner
2011-03-15  0:30           ` Stephen Rothwell
2011-03-15  4:07             ` David Miller
2011-03-15  6:25               ` Stephen Rothwell
2011-03-15 10:29                 ` Thomas Gleixner
2011-03-15 22:07                   ` David Miller
2011-03-09  2:42 Stephen Rothwell
2011-03-09  6:45 ` David Miller
2011-01-21  1:05 Stephen Rothwell
2011-01-21  1:10 ` David Miller
2010-12-09  2:28 Stephen Rothwell
2010-12-09  2:39 ` David Miller
2010-12-09  3:02   ` Stephen Rothwell
2010-12-07  1:00 Stephen Rothwell
2010-12-07  4:46 ` David Miller
2010-12-07  4:57   ` Joe Perches
2010-12-07 18:34     ` Breno Leitao
2010-11-29  0:08 Stephen Rothwell
2010-11-29  2:11 ` David Miller
2010-11-29  7:25   ` Peppe CAVALLARO
2010-11-16  0:34 Stephen Rothwell
2010-11-16  4:15 ` David Miller
2010-10-15  0:38 Stephen Rothwell
2010-10-14 22:07 ` Jeff Kirsher
2010-08-27  1:14 Stephen Rothwell
2010-08-27  3:32 ` David Miller
2010-06-15  2:00 Stephen Rothwell
2010-06-15  2:13 ` David Miller
2010-06-15  3:42   ` Stephen Rothwell
2010-05-03  2:08 Stephen Rothwell
2010-05-03  2:37 ` David Miller
2010-05-03  4:44   ` Stephen Rothwell
2010-04-07  2:58 Stephen Rothwell
2010-04-07  3:12 ` David Miller
2010-04-07  5:28   ` Stephen Rothwell
2010-02-15  4:20 Stephen Rothwell
2010-02-15  6:22 ` David Miller
2010-02-08  2:22 Stephen Rothwell
2010-02-08  3:40 ` David Miller
2010-02-08  3:58   ` Stephen Rothwell
2010-02-05  5:50 Stephen Rothwell
2010-02-05  6:32 ` David Miller
2010-02-05 11:49   ` Stephen Rothwell

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=20170214125020.GA4458@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@infradead.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=ast@fb.com \
    --cc=davem@davemloft.net \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=mingo@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=sfr@canb.auug.org.au \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).