Perf tool won't build without libnewt

From: Mark Rutland
Date: Wed Mar 20 2013 - 08:11:32 EST


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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/