diff mbox

[v4] perf: bpf: Fix build breakage due to libbpf

Message ID 20160107212303.GI18457@kernel.org (mailing list archive)
State Not Applicable
Headers show

Commit Message

Arnaldo Carvalho de Melo Jan. 7, 2016, 9:23 p.m. UTC
Em Thu, Jan 07, 2016 at 05:39:57PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Thu, Jan 07, 2016 at 12:28:15PM +0530, Naveen N. Rao escreveu:
> > Can you please push at least the initial 3 patches of this for v4.4?  
> > Wang Nan has posted v6 here:
> > http://thread.gmane.org/gmane.linux.kernel/2110626
 
> So I tried it again today, from the v6, the latest patch with that
> subject line in my inbox, and I get this, after applying the first three
> patches:
 
> [acme@zoo linux]$ make -C tools clean > /dev/null
> [acme@zoo linux]$ make -C tools/perf build-test
> make: Entering directory '/home/git/linux/tools/perf'
> Testing Makefile
> tests/make:15: /scripts/Makefile.arch: No such file or directory
> make[2]: *** No rule to make target '/scripts/Makefile.arch'.  Stop.
> tests/make:5: recipe for target 'all' failed
> make[1]: *** [all] Error 2
> Makefile:81: recipe for target 'build-test' failed
> make: *** [build-test] Error 2
> make: Leaving directory '/home/git/linux/tools/perf'
> [acme@zoo linux]$

> Trying to figure this out...

So, this doesn't seem to have been tessted, this part, specifically:

Comments

Wangnan (F) Jan. 8, 2016, 1:56 a.m. UTC | #1
On 2016/1/8 5:23, Arnaldo Carvalho de Melo wrote:
> Em Thu, Jan 07, 2016 at 05:39:57PM -0300, Arnaldo Carvalho de Melo escreveu:
>> Em Thu, Jan 07, 2016 at 12:28:15PM +0530, Naveen N. Rao escreveu:
>>> Can you please push at least the initial 3 patches of this for v4.4?
>>> Wang Nan has posted v6 here:
>>> http://thread.gmane.org/gmane.linux.kernel/2110626
>   
>> So I tried it again today, from the v6, the latest patch with that
>> subject line in my inbox, and I get this, after applying the first three
>> patches:
>   
>> [acme@zoo linux]$ make -C tools clean > /dev/null
>> [acme@zoo linux]$ make -C tools/perf build-test
>> make: Entering directory '/home/git/linux/tools/perf'
>> Testing Makefile
>> tests/make:15: /scripts/Makefile.arch: No such file or directory
>> make[2]: *** No rule to make target '/scripts/Makefile.arch'.  Stop.
>> tests/make:5: recipe for target 'all' failed
>> make[1]: *** [all] Error 2
>> Makefile:81: recipe for target 'build-test' failed
>> make: *** [build-test] Error 2
>> make: Leaving directory '/home/git/linux/tools/perf'
>> [acme@zoo linux]$
>> Trying to figure this out...
> So, this doesn't seem to have been tessted, this part, specifically:
>
> diff --git a/tools/perf/tests/make b/tools/perf/tests/make
> index 8ea3dffc5065..cd9c3ce1a5c2 100644
> --- a/tools/perf/tests/make
> +++ b/tools/perf/tests/make
> @@ -12,7 +12,7 @@ endif
>   else
>   PERF := .
>   
> -include config/Makefile.arch
> +include $(srctree)/scripts/Makefile.arch
>   
>   # FIXME looks like x86 is the only arch running tests ;-)
>   # we need some IS_(32/64) flag to make this generic
>
>
> ----------------------------------------------------
>
> Because $(srctree) is not set at that point, I copied the needed bits from
> tools/perf/Makefile.perf and got the patch below, which makes:L
>
>    make -C tools/perf build-test
>
> Work for me again.
>
> This should wrap up the day nicely, making me think of Jens Axboe recent
> cool reaction to an untested patch:
>
> http://lkml.kernel.org/r/5661C2BC.9030007@kernel.dk
>
> :-)
>

Sorry. I though I have tested my patch by building perf, but didn't
realize perf/tests/make is not used in normal building. Doing build-test
takes too long, so I always forget it. Also, in my environment it can fail:

   LD 
/opt/wangnan/yocto_build/tmp-eglibc/work/generic_x86_64-oe-linux/perf/1.0-r8/perf-1.0/perf-in.o
   LINK 
/opt/wangnan/yocto_build/tmp-eglibc/work/generic_x86_64-oe-linux/perf/1.0-r8/perf-1.0/perf
   test: test -x ./perf
make[2]: *** [make_no_newt] Error 1
make[1]: *** [all] Error 2
make: *** [build-test] Error 2

since I'm in a yocto building environment. I'll look into this problem 
and give a patch on it.

Thank you.
Jiri Olsa Jan. 8, 2016, 3:52 p.m. UTC | #2
On Thu, Jan 07, 2016 at 06:23:03PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Thu, Jan 07, 2016 at 05:39:57PM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Thu, Jan 07, 2016 at 12:28:15PM +0530, Naveen N. Rao escreveu:
> > > Can you please push at least the initial 3 patches of this for v4.4?  
> > > Wang Nan has posted v6 here:
> > > http://thread.gmane.org/gmane.linux.kernel/2110626
>  
> > So I tried it again today, from the v6, the latest patch with that
> > subject line in my inbox, and I get this, after applying the first three
> > patches:
>  
> > [acme@zoo linux]$ make -C tools clean > /dev/null
> > [acme@zoo linux]$ make -C tools/perf build-test
> > make: Entering directory '/home/git/linux/tools/perf'
> > Testing Makefile
> > tests/make:15: /scripts/Makefile.arch: No such file or directory
> > make[2]: *** No rule to make target '/scripts/Makefile.arch'.  Stop.
> > tests/make:5: recipe for target 'all' failed
> > make[1]: *** [all] Error 2
> > Makefile:81: recipe for target 'build-test' failed
> > make: *** [build-test] Error 2
> > make: Leaving directory '/home/git/linux/tools/perf'
> > [acme@zoo linux]$
> 
> > Trying to figure this out...
> 
> So, this doesn't seem to have been tessted, this part, specifically:
> 
> diff --git a/tools/perf/tests/make b/tools/perf/tests/make
> index 8ea3dffc5065..cd9c3ce1a5c2 100644
> --- a/tools/perf/tests/make
> +++ b/tools/perf/tests/make
> @@ -12,7 +12,7 @@ endif
>  else
>  PERF := .
>  
> -include config/Makefile.arch
> +include $(srctree)/scripts/Makefile.arch
>  
>  # FIXME looks like x86 is the only arch running tests ;-)
>  # we need some IS_(32/64) flag to make this generic
> 
> 
> ----------------------------------------------------
> 
> Because $(srctree) is not set at that point, I copied the needed bits from
> tools/perf/Makefile.perf and got the patch below, which makes:L
> 
>   make -C tools/perf build-test
> 
> Work for me again.
> 
> This should wrap up the day nicely, making me think of Jens Axboe recent
> cool reaction to an untested patch:
> 
> http://lkml.kernel.org/r/5661C2BC.9030007@kernel.dk
> 
> :-)
> 
> Jiri, are you ok with the patch below, on top of the second patch in
> Wang's series, that you acked?

yep, looks good to me

thanks,
jirka
diff mbox

Patch

diff --git a/tools/perf/tests/make b/tools/perf/tests/make
index 8ea3dffc5065..cd9c3ce1a5c2 100644
--- a/tools/perf/tests/make
+++ b/tools/perf/tests/make
@@ -12,7 +12,7 @@  endif
 else
 PERF := .
 
-include config/Makefile.arch
+include $(srctree)/scripts/Makefile.arch
 
 # FIXME looks like x86 is the only arch running tests ;-)
 # we need some IS_(32/64) flag to make this generic


----------------------------------------------------

Because $(srctree) is not set at that point, I copied the needed bits from
tools/perf/Makefile.perf and got the patch below, which makes:L

  make -C tools/perf build-test

Work for me again.

This should wrap up the day nicely, making me think of Jens Axboe recent
cool reaction to an untested patch:

http://lkml.kernel.org/r/5661C2BC.9030007@kernel.dk

:-)

Jiri, are you ok with the patch below, on top of the second patch in
Wang's series, that you acked?

- Arnaldo

diff --git a/tools/perf/tests/make b/tools/perf/tests/make
index cd9c3ce1a5c2..377654f862ec 100644
--- a/tools/perf/tests/make
+++ b/tools/perf/tests/make
@@ -1,3 +1,5 @@ 
+include ../scripts/Makefile.include
+
 ifndef MK
 ifeq ($(MAKECMDGOALS),)
 # no target specified, trigger the whole suite
@@ -12,7 +14,19 @@  endif
 else
 PERF := .
 
-include $(srctree)/scripts/Makefile.arch
+# As per kernel Makefile, avoid funny character set dependencies
+unexport LC_ALL
+LC_COLLATE=C
+LC_NUMERIC=C
+export LC_COLLATE LC_NUMERIC
+
+ifeq ($(srctree),)
+srctree := $(patsubst %/,%,$(dir $(shell pwd)))
+srctree := $(patsubst %/,%,$(dir $(srctree)))
+#$(info Determined 'srctree' to be $(srctree))
+endif
+
+include $(srctree)/tools/scripts/Makefile.arch
 
 # FIXME looks like x86 is the only arch running tests ;-)
 # we need some IS_(32/64) flag to make this generic