Building tools/perf fails on next

From: Riku Voipio
Date: Wed Jun 17 2015 - 02:20:41 EST


Hi,

The commit:

commit d72da4a4d973d8a0a0d3c97e7cdebf287fbe3a99
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Wed May 27 11:09:36 2015 +0930

rbtree: Make lockless searches non-fatal

Adds <linux/rcupdate.h> to rbtree.h, which in turn is included from perf userspace
headers. Now building tools/perf will fail with hundreds of lines of gcc complaining
about kernel defines not available. Reverting the patch makes perf build again.
This is with gcc-4.9 from debian but I don't think it's compiler specific.

Beginning of build error:

$ make -C tools/perf
make: Entering directory '/build/linux/tools/perf'
BUILD: Doing 'make -j4' parallel build

Auto-detecting system features:
... dwarf: [ on ]
... glibc: [ on ]
... gtk2: [ OFF ]
... libaudit: [ on ]
... libbfd: [ OFF ]
... libelf: [ on ]
... libnuma: [ on ]
... libperl: [ on ]
... libpython: [ on ]
... libslang: [ on ]
... libunwind: [ on ]
... libdw-dwarf-unwind: [ on ]
... zlib: [ on ]
... lzma: [ OFF ]

config/Makefile:395: GTK2 not found, disables GTK2 support. Please install gtk2-devel or libgtk2.0-dev
config/Makefile:527: No bfd.h/libbfd found, please install binutils-dev[el]/zlib-static/libiberty-dev to gain symbol demangling
config/Makefile:556: No liblzma found, disables xz kernel module decompression, please install xz-devel/liblzma-dev
CC util/abspath.o
CC event-parse.o
CC fd/array.o
LD fd/libapi-in.o
CC fs/fs.o
CC fs/debugfs.o
CC event-plugin.o
CC fs/findfs.o
CC trace-seq.o
CC util/alias.o
CC parse-filter.o
CC fs/tracefs.o
CC util/annotate.o
LD fs/libapi-in.o
LD libapi-in.o
AR libapi.a
CC parse-utils.o
GEN common-cmds.h
PERF_VERSION = 4.1.rc8.gca3cfa
CC kbuffer-parse.o
LD libtraceevent-in.o
CC arch/common.o
LINK libtraceevent.a
CC ui/setup.o
In file included from /build/linux/include/uapi/linux/kernel.h:4:0,
from /build/linux/include/linux/cache.h:4,
from /build/linux/include/linux/rcupdate.h:37,
from /build/linux/tools/perf/util/include/../../../../include/linux/rbtree.h:34,
from /build/linux/tools/perf/util/include/linux/rbtree.h:4,
from arch/../util/map.h:7,
from arch/../util/event.h:8,
from arch/../util/session.h:5,
from arch/common.h:4,
from arch/common.c:3:
/build/linux/include/uapi/linux/sysinfo.h:8:2: error: unknown type name â__kernel_long_tâ
__kernel_long_t uptime; /* Seconds since boot */
^
/build/linux/include/uapi/linux/sysinfo.h:9:2: error: unknown type name â__kernel_ulong_tâ
__kernel_ulong_t loads[3]; /* 1, 5, and 15 minute load averages */
^
/build/linux/include/uapi/linux/sysinfo.h:10:2: error: unknown type name â__kernel_ulong_tâ
__kernel_ulong_t totalram; /* Total usable main memory size */
^
/build/linux/include/uapi/linux/sysinfo.h:11:2: error: unknown type name â__kernel_ulong_tâ
__kernel_ulong_t freeram; /* Available memory size */
^
/build/linux/include/uapi/linux/sysinfo.h:12:2: error: unknown type name â__kernel_ulong_tâ
__kernel_ulong_t sharedram; /* Amount of shared memory */
^
/build/linux/include/uapi/linux/sysinfo.h:13:2: error: unknown type name â__kernel_ulong_tâ
__kernel_ulong_t bufferram; /* Memory used by buffers */
^
/build/linux/include/uapi/linux/sysinfo.h:14:2: error: unknown type name â__kernel_ulong_tâ
__kernel_ulong_t totalswap; /* Total swap space size */
^
/build/linux/include/uapi/linux/sysinfo.h:15:2: error: unknown type name â__kernel_ulong_tâ
__kernel_ulong_t freeswap; /* swap space still available */
^
/build/linux/include/uapi/linux/sysinfo.h:18:2: error: unknown type name â__kernel_ulong_tâ
__kernel_ulong_t totalhigh; /* Total high memory size */
^
/build/linux/include/uapi/linux/sysinfo.h:19:2: error: unknown type name â__kernel_ulong_tâ
__kernel_ulong_t freehigh; /* Available high memory size */
^
/build/linux/include/uapi/linux/sysinfo.h:21:22: error: â__kernel_ulong_tâ undeclared here (not in a function)
char _f[20-2*sizeof(__kernel_ulong_t)-sizeof(__u32)]; /* Padding: libc5 uses this.. */
....
--
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/