2013-03-20 12:11:27

by Mark Rutland

[permalink] [raw]
Subject: Perf tool won't build without libnewt

Hi,

I attempted to cross-build v3.9-rc3's perf tool for an arm system today, and
got the following out of the build system:

CHK libnewt
Makefile:655: newt not found, disables TUI support. Please install newt-devel or libnewt-dev
[...]
builtin-report.c: In function ‘__cmd_report’:
builtin-report.c:478:15: error: ‘K_SWITCH_INPUT_DATA’ undeclared (first use in this function)
builtin-report.c:478:15: note: each undeclared identifier is reported only once for each function it appears in
builtin-report.c: In function ‘cmd_report’:
builtin-report.c:821:13: error: ‘K_SWITCH_INPUT_DATA’ undeclared (first use in this function)
make: *** [builtin-report.o] Error 1
make: *** Waiting for unfinished jobs....

I've bisected this down to ad0de0971b: "perf report: Enable the runtime
switching of perf data file".

It looks like when NEWT_SUPPORT is defined, builtin-report.c gets
K_SWITCH_INPUT_DATA via util/hist.h, which includes ui/keysyms.h. When
NEWT_SUPPORT isn't defined, util/hist.t doesn't include ui/keysyms.h and the
build fails. I'm able to reproduce the problem on my x86 desktop by
uninstalling libnewt-dev.

As far as I can see, we can't just always include ui/keysyms.h as it includes
libslang.h (which may or may not be present if libnewt isn't, and we don't
check for it independently). I'm not sure what the best way to fix this would
be.

Thanks,
Mark.


2013-03-20 13:23:40

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: Perf tool won't build without libnewt

Em Wed, Mar 20, 2013 at 12:11:11PM +0000, Mark Rutland escreveu:
> I attempted to cross-build v3.9-rc3's perf tool for an arm system today, and
> got the following out of the build system:
>
> CHK libnewt
> Makefile:655: newt not found, disables TUI support. Please install newt-devel or libnewt-dev
> [...]
> builtin-report.c: In function ‘__cmd_report’:
> builtin-report.c:478:15: error: ‘K_SWITCH_INPUT_DATA’ undeclared (first use in this function)
> builtin-report.c:478:15: note: each undeclared identifier is reported only once for each function it appears in
> builtin-report.c: In function ‘cmd_report’:
> builtin-report.c:821:13: error: ‘K_SWITCH_INPUT_DATA’ undeclared (first use in this function)
> make: *** [builtin-report.o] Error 1
> make: *** Waiting for unfinished jobs....
>
> I've bisected this down to ad0de0971b: "perf report: Enable the runtime
> switching of perf data file".

Can you try with latest tip/perf/urgent, should go to Linus soon.

This cset should fix it:

commit 5f7439e07822942f32b9e0a66f4a3cc9c3e29e67
Author: Michael Ellerman <[email protected]>
Date: Tue Feb 26 16:02:03 2013 +1100

perf report: Fix build with NO_NEWT=1

----

Thanks for reporting!

- Arnaldo

2013-03-20 13:38:34

by Mark Rutland

[permalink] [raw]
Subject: Re: Perf tool won't build without libnewt

On Wed, Mar 20, 2013 at 01:23:22PM +0000, Arnaldo Carvalho de Melo wrote:
> Em Wed, Mar 20, 2013 at 12:11:11PM +0000, Mark Rutland escreveu:
> > I attempted to cross-build v3.9-rc3's perf tool for an arm system today, and
> > got the following out of the build system:
> >
> > CHK libnewt
> > Makefile:655: newt not found, disables TUI support. Please install newt-devel or libnewt-dev
> > [...]
> > builtin-report.c: In function ‘__cmd_report’:
> > builtin-report.c:478:15: error: ‘K_SWITCH_INPUT_DATA’ undeclared (first use in this function)
> > builtin-report.c:478:15: note: each undeclared identifier is reported only once for each function it appears in
> > builtin-report.c: In function ‘cmd_report’:
> > builtin-report.c:821:13: error: ‘K_SWITCH_INPUT_DATA’ undeclared (first use in this function)
> > make: *** [builtin-report.o] Error 1
> > make: *** Waiting for unfinished jobs....
> >
> > I've bisected this down to ad0de0971b: "perf report: Enable the runtime
> > switching of perf data file".
>
> Can you try with latest tip/perf/urgent, should go to Linus soon.
>
> This cset should fix it:

Indeed it does.

>
> commit 5f7439e07822942f32b9e0a66f4a3cc9c3e29e67
> Author: Michael Ellerman <[email protected]>
> Date: Tue Feb 26 16:02:03 2013 +1100
>
> perf report: Fix build with NO_NEWT=1
>
> ----
>
> Thanks for reporting!
>
> - Arnaldo

Cheers,
Mark.