Skip to contentSkip to conversation

tools/build: fixdep versus tools/lib/bpf

DISCUSSION Arnaldo Carvalho de Melo 4 participants 7 messages Oct 28, 2015 – Oct 30, 2015 perf events

lore
Share & tools
lore

Arnaldo Carvalho de Melo

author maintainer
#0 lore raw

Hi Jiri, Wang,

I'm getting these while doing 'make -C tools/perf build-test':

LD fixdep-in.o
LINK fixdep
/bin/sh: /home/acme/git/linux/tools/build/fixdep: Permission denied make[6]: *** [bpf.o] Error 1
make[5]: *** [libbpf-in.o] Error 2
make[4]: *** [/home/acme/git/linux/tools/lib/bpf/libbpf.a] Error 2 make[4]: *** Waiting for unfinished jobs....

It happens at different tests, i.e. seems like a race somewhere in the build system, can you take a look? It happens with my perf/ebpf branch.

- Arnaldo

#1 lore raw
Quoted 13 lines · Arnaldo Carvalho de Melo

Hi Jiri, Wang,

I'm getting these while doing 'make -C tools/perf build-test':

LD fixdep-in.o
LINK fixdep
/bin/sh: /home/acme/git/linux/tools/build/fixdep: Permission denied make[6]: *** [bpf.o] Error 1
make[5]: *** [libbpf-in.o] Error 2
make[4]: *** [/home/acme/git/linux/tools/lib/bpf/libbpf.a] Error 2 make[4]: *** Waiting for unfinished jobs....

Quoted 2 lines

It happens at different tests, i.e. seems like a race somewhere in the build system, can you take a look? It happens with my perf/ebpf branch.

could not reproduce, but looks like attached patch should help

jirka

---

tools/perf/Makefile.perf +1 -1
index 1e2e2d1d26b7..0d19d5447d6c 100644
@@ -430,7 +430,7 @@ $(LIBAPI)-clean:
 	$(call QUIET_CLEAN, libapi)
 	$(Q)$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null
 
-$(LIBBPF): FORCE
+$(LIBBPF): fixdep FORCE
 	$(Q)$(MAKE) -C $(BPF_DIR) O=$(OUTPUT) $(OUTPUT)libbpf.a
 
 $(LIBBPF)-clean:
author maintainer
#2 lore raw

Em Wed, Oct 28, 2015 at 09:13:52PM +0100, Jiri Olsa escreveu:

Quoted 14 lines · Arnaldo Carvalho de Melo
Quoted 13 lines

Hi Jiri, Wang,

I'm getting these while doing 'make -C tools/perf build-test':

LD fixdep-in.o
LINK fixdep
/bin/sh: /home/acme/git/linux/tools/build/fixdep: Permission denied make[6]: *** [bpf.o] Error 1
make[5]: *** [libbpf-in.o] Error 2
make[4]: *** [/home/acme/git/linux/tools/lib/bpf/libbpf.a] Error 2 make[4]: *** Waiting for unfinished jobs....

Quoted 4 lines
Quoted 2 lines

It happens at different tests, i.e. seems like a race somewhere in the build system, can you take a look? It happens with my perf/ebpf branch.

could not reproduce, but looks like attached patch should help

I'll test this now, i.e. make it go thru a 'make -C tools/perf build-test'.

In the interest of speeding up things, please provide an explanation of why this should be applied, so that I can add it to the changeset log.

Thanks a bunch!

- Arnaldo

Quoted 17 lines

jirka

---

tools/perf/Makefile.perf +1 -1
index 1e2e2d1d26b7..0d19d5447d6c 100644
@@ -430,7 +430,7 @@ $(LIBAPI)-clean:
 	$(call QUIET_CLEAN, libapi)
 	$(Q)$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null
 
-$(LIBBPF): FORCE
+$(LIBBPF): fixdep FORCE
 	$(Q)$(MAKE) -C $(BPF_DIR) O=$(OUTPUT) $(OUTPUT)libbpf.a
 
 $(LIBBPF)-clean:
#3 lore raw
Quoted 20 lines · Arnaldo Carvalho de Melo

Em Wed, Oct 28, 2015 at 09:13:52PM +0100, Jiri Olsa escreveu:

Quoted 14 lines · Arnaldo Carvalho de Melo
Quoted 13 lines

Hi Jiri, Wang,

I'm getting these while doing 'make -C tools/perf build-test':

LD fixdep-in.o
LINK fixdep
/bin/sh: /home/acme/git/linux/tools/build/fixdep: Permission denied make[6]: *** [bpf.o] Error 1
make[5]: *** [libbpf-in.o] Error 2
make[4]: *** [/home/acme/git/linux/tools/lib/bpf/libbpf.a] Error 2 make[4]: *** Waiting for unfinished jobs....

Quoted 4 lines
Quoted 2 lines

It happens at different tests, i.e. seems like a race somewhere in the build system, can you take a look? It happens with my perf/ebpf branch.

could not reproduce, but looks like attached patch should help

Quoted 8 lines

I'll test this now, i.e. make it go thru a 'make -C tools/perf build-test'.

In the interest of speeding up things, please provide an explanation of why this should be applied, so that I can add it to the changeset log.

Thanks a bunch!

The fixdep tool needs to be built as the first binary. Libraries are built in paralel, so each of them needs to depend on fixdep target.

jirka

Quoted 17 lines
Quoted 17 lines

jirka

---

tools/perf/Makefile.perf +1 -1
index 1e2e2d1d26b7..0d19d5447d6c 100644
@@ -430,7 +430,7 @@ $(LIBAPI)-clean:
 	$(call QUIET_CLEAN, libapi)
 	$(Q)$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null
 
-$(LIBBPF): FORCE
+$(LIBBPF): fixdep FORCE
 	$(Q)$(MAKE) -C $(BPF_DIR) O=$(OUTPUT) $(OUTPUT)libbpf.a
 
 $(LIBBPF)-clean:
author maintainer
#4 lore raw

Em Wed, Oct 28, 2015 at 09:44:50PM +0100, Jiri Olsa escreveu:

Quoted 27 lines · Arnaldo Carvalho de Melo
Quoted 26 lines

Em Wed, Oct 28, 2015 at 09:13:52PM +0100, Jiri Olsa escreveu:

Quoted 14 lines · Arnaldo Carvalho de Melo
Quoted 13 lines

Hi Jiri, Wang,

I'm getting these while doing 'make -C tools/perf build-test':

LD fixdep-in.o
LINK fixdep
/bin/sh: /home/acme/git/linux/tools/build/fixdep: Permission denied make[6]: *** [bpf.o] Error 1
make[5]: *** [libbpf-in.o] Error 2
make[4]: *** [/home/acme/git/linux/tools/lib/bpf/libbpf.a] Error 2 make[4]: *** Waiting for unfinished jobs....

Quoted 4 lines
Quoted 2 lines

It happens at different tests, i.e. seems like a race somewhere in the build system, can you take a look? It happens with my perf/ebpf branch.

could not reproduce, but looks like attached patch should help

I'll test this now, i.e. make it go thru a 'make -C tools/perf build-test'.

In the interest of speeding up things, please provide an explanation of why this should be applied, so that I can add it to the changeset log.

Quoted 6 lines
Quoted 2 lines

Thanks a bunch!

The fixdep tool needs to be built as the first binary. Libraries are built in paralel, so each of them needs to depend on fixdep target.

I really need a faster machine, you provided the answer at this point:

- make_tags_O: cd . && make -f Makefile O=/tmp/tmp.xfRz6THR6o DESTDIR=/tmp/tmp.y0nuN0Fr9n tags
- make_cscope_O: cd . && make -f Makefile O=/tmp/tmp.O6phQXHU4z DESTDIR=/tmp/tmp.5mdMeF1pH2 cscope
- tarpkg: ./tests/perf-targz-src-pkg .
- make -C <kernelsrc> tools/perf
- make -C <kernelsrc>/tools perf

Almost there :-)

- Arnaldo

#5 lore raw
Quoted 19 lines · Arnaldo Carvalho de Melo

Em Wed, Oct 28, 2015 at 09:44:50PM +0100, Jiri Olsa escreveu:

Quoted 18 lines · Arnaldo Carvalho de Melo
Quoted 17 lines

Em Wed, Oct 28, 2015 at 09:13:52PM +0100, Jiri Olsa escreveu:

Quoted 16 lines · Arnaldo Carvalho de Melo
Quoted 15 lines

Hi Jiri, Wang,

I'm getting these while doing 'make -C tools/perf build-test':

LD fixdep-in.o
LINK fixdep
/bin/sh: /home/acme/git/linux/tools/build/fixdep: Permission denied make[6]: *** [bpf.o] Error 1
make[5]: *** [libbpf-in.o] Error 2
make[4]: *** [/home/acme/git/linux/tools/lib/bpf/libbpf.a] Error 2 make[4]: *** Waiting for unfinished jobs....

It happens at different tests, i.e. seems like a race somewhere in the build system, can you take a look? It happens with my perf/ebpf branch.

Never see this message before. Tried make build-test, unable to reproduce in my environment. Maybe my machine is not fast enough?

Quoted 23 lines
Quoted 4 lines
Quoted 4 lines
Quoted 1 line

could not reproduce, but looks like attached patch should help

I'll test this now, i.e. make it go thru a 'make -C tools/perf build-test'.

Quoted 8 lines
Quoted 5 lines

In the interest of speeding up things, please provide an explanation of why this should be applied, so that I can add it to the changeset log.

Thanks a bunch!

The fixdep tool needs to be built as the first binary. Libraries are built in paralel, so each of them needs to depend on fixdep target.

I really need a faster machine, you provided the answer at this point:

- make_tags_O: cd . && make -f Makefile O=/tmp/tmp.xfRz6THR6o DESTDIR=/tmp/tmp.y0nuN0Fr9n tags
- make_cscope_O: cd . && make -f Makefile O=/tmp/tmp.O6phQXHU4z DESTDIR=/tmp/tmp.5mdMeF1pH2 cscope
- tarpkg: ./tests/perf-targz-src-pkg .
- make -C <kernelsrc> tools/perf
- make -C <kernelsrc>/tools perf

Quoted 1 line

Almost there :-)

So the problem is gone? Thanks to Jiri, and I'll add this to my local tree, as a separated patch first.

Thank you.

Quoted 1 line

- Arnaldo

#6 lore raw

[tip:perf/core] perf tools: Make sure fixdep is built before libbpf

In reply to Jiri Olsa
perf tools: Make sure fixdep is built before libbpf
Commit-ID:  50f1e6d0431d3343cb506037c43ce623bd15581f
Gitweb:     http://git.kernel.org/tip/50f1e6d0431d3343cb506037c43ce623bd15581f
Author:     Jiri Olsa <[email protected]>
AuthorDate: Wed, 28 Oct 2015 21:44:50 +0100
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Thu, 29 Oct 2015 17:16:21 -0300

perf tools: Make sure fixdep is built before libbpf

While doing 'make -C tools/perf build-test':

LD fixdep-in.o
LINK fixdep
/bin/sh: /home/acme/git/linux/tools/build/fixdep: Permission denied make[6]: *** [bpf.o] Error 1
make[5]: *** [libbpf-in.o] Error 2
make[4]: *** [/home/acme/git/linux/tools/lib/bpf/libbpf.a] Error 2 make[4]: *** Waiting for unfinished jobs....

The fixdep tool needs to be built as the first binary. Libraries are built in paralel, so each of them needs to depend on fixdep target.

---
 tools/perf/Makefile.perf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
tools/perf/Makefile.perf +1 -1
index 1e2e2d1..0d19d54 100644
@@ -430,7 +430,7 @@ $(LIBAPI)-clean:
 	$(call QUIET_CLEAN, libapi)
 	$(Q)$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null
 
-$(LIBBPF): FORCE
+$(LIBBPF): fixdep FORCE
 	$(Q)$(MAKE) -C $(BPF_DIR) O=$(OUTPUT) $(OUTPUT)libbpf.a
 
 $(LIBBPF)-clean: