Thread (9 messages) 9 messages, 3 authors, 2015-09-30

Re: linux-next: build failure after merge of the tip tree

From: Jiri Olsa <hidden>
Date: 2015-09-30 06:08:20
Also in: lkml

On Wed, Sep 30, 2015 at 12:56:40PM +1000, Stephen Rothwell wrote:
Hi all,

On Thu, 17 Sep 2015 10:34:23 +1000 Stephen Rothwell [off-list ref] wrote:
quoted
On Wed, 16 Sep 2015 08:16:52 +0200 Jiri Olsa [off-list ref] wrote:
quoted
On Wed, Sep 16, 2015 at 10:12:45AM +1000, Stephen Rothwell wrote:
quoted
After merging the tip tree, today's linux-next build (perf) failed
like this:

make[3]: *** No rule to make target 'tools/lib/api/fs/debugfs.h', needed by 'tools/perf/arch/common.o'.  Stop.
tools/build/Makefile.build:109: recipe for target 'arch' failed
make[4]: *** No rule to make target 'fs/debugfs.h', needed by 'tools/perf/fs/fs.o'.  Stop.
tools/build/Makefile.build:109: recipe for target 'fs' failed
make[3]: *** No rule to make target 'tools/lib/api/fs/debugfs.h', needed by 'tools/perf/util/abspath.o'.  Stop.
tools/build/Makefile.build:109: recipe for target 'util' failed
Makefile:32: recipe for target 'tools/perf/libapi-in.o' failed
Makefile.perf:417: recipe for target 'tools/perf/libapi.a' failed
Makefile.perf:393: recipe for target 'tools/perf/libperf-in.o' failed
Makefile:68: recipe for target 'all' failed

Maybe caused by commit

  60a1133a5b39 ("tools lib api fs: Remove debugfs, tracefs and findfs objects")

This is an incremental build i.e. I do not do a "make clean" after doing
the build for each tree merge (in case that matters).
it does in this case, removed header files stay in
cmd build dependency file (like in .abspath.o.cmd above)
and cause build error

build system is not smart enough yet to find out,
I was postponning fixing this for some time now,
I'll try to get this resolved asap
OK, for now I will clean out my objdir before doing the perf build
after the tip tree merge.  It would be nice to have this fixed, though,
if possible.
I noticed some commits in the tip tree today that seemed as though they
were addressing this problem.  However, I still get a build failure if
I don't clean out the object directory before building tools/perf:
ouch, forgot to CC you, sry
  BUILD:   Doing 'make -j48' parallel build
  GEN      /home/sfr/next/perf/common-cmds.h
  CC       /home/sfr/next/perf/fixdep.o
  LD       /home/sfr/next/perf/fixdep-in.o
  LINK     /home/sfr/next/perf/fixdep
  CC       /home/sfr/next/perf/perf-read-vdso32
  CC       /home/sfr/next/perf/perf-read-vdsox32
make[3]: *** No rule to make target '/home/sfr/next/next/tools/lib/api/fs/debugfs.h', needed by '/home/sfr/next/perf/ui/gtk/browser.o'.  Stop.
/home/sfr/next/next/tools/build/Makefile.build:116: recipe for target 'ui/gtk' failed
make[2]: *** [ui/gtk] Error 2
Makefile.perf:310: recipe for target '/home/sfr/next/perf/gtk-in.o' failed
it won't fix the build if you still have old .cmd file in you tree (I presume that's the case),
once those are regenerated you shouldn't meet the issue again

jirka
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help