Em Mon, Sep 19, 2016 at 06:20:17PM -0300, Arnaldo Carvalho de Melo escreveu: > Em Thu, Sep 15, 2016 at 03:24:37PM -0700, Sukadev Bhattiprolu escreveu: > > CPUs support a large number of performance monitoring events (PMU events) > > and often these events are very specific to an architecture/model of the > > CPU. To use most of these PMU events with perf, we currently have to > > identify > > them by their raw codes: > > > > perf stat -e r100f2 sleep 1 > > So, trying to build this with my set of containers I get lots of failures, > double checking running on another machine with those containers for the > segfault cases, changing sys/fcntl.h to fcntl.h cures the build on alpine:3.4 > (musl libc), will try to fix all of them. > > The list is incomplete, lots of other systems failed as well. > > - Arnaldo > 1 alpine:3.4: Ok
Fixed with fcntl.h + capping the maxfds parameter to nftw to avoid it exploding on alloca() in environments where rlim_max is set to a high value, like in docker. Now looking at: CC /tmp/build/perf/fs/tracing_path.o In file included from /git/linux/tools/include/linux/types.h:4:0, from /opt/android-ndk-r12b/platforms/android-24/arch-arm/usr/include/sys/types.h:35, from /opt/android-ndk-r12b/platforms/android-24/arch-arm/usr/include/strings.h:42, from /opt/android-ndk-r12b/platforms/android-24/arch-arm/usr/include/stdlib.h:36, from pmu-events/json.c:31: pmu-events/json.h:15:22: error: two or more data types in declaration specifiers typedef unsigned int bool; Which looks like clashing with stdbool.h... - Arnaldo > android-ndk:r12b-arm: FAIL > > CC /tmp/build/perf/event-plugin.o > pmu-events/json.c:35:23: fatal error: sys/fcntl.h: No such file or > directory > #include <sys/fcntl.h> > ^ > compilation terminated. > ----------------------------------------------------------------------- > archlinux:latest: FAIL > /bin/sh: line 1: 1408 Segmentation fault (core dumped) > /tmp/build/perf/pmu-events/jevents x86 pmu-events/arch > /tmp/build/perf/pmu-events/pmu-events.c > make[2]: *** [pmu-events/Build:11: /tmp/build/perf/pmu-events/pmu-events.c] > Error 139 > make[1]: *** [Makefile.perf:461: /tmp/build/perf/pmu-events/pmu-events-in.o] > Error 2 > make[1]: *** Waiting for unfinished jobs.... > ----------------------------------------------------------------------- > centos:5: FAIL > /bin/sh: line 1: 1336 Segmentation fault (core dumped) > /tmp/build/perf/pmu-events/jevents x86 pmu-events/arch > /tmp/build/perf/pmu-events/pmu-events.c > make[2]: *** [/tmp/build/perf/pmu-events/pmu-events.c] Error 139 > make[1]: *** Waiting for unfinished jobs.... > ----------------------------------------------------------------------- > centos:6: FAIL > /bin/sh: line 1: 1633 Segmentation fault (core dumped) > /tmp/build/perf/pmu-events/jevents x86 pmu-events/arch > /tmp/build/perf/pmu-events/pmu-events.c > make[2]: *** [/tmp/build/perf/pmu-events/pmu-events.c] Error 139 > make[1]: *** [/tmp/build/perf/pmu-events/pmu-events-in.o] Error 2 > make[1]: *** Waiting for unfinished jobs.... > ----------------------------------------------------------------------- > centos:7: FAIL > GEN /tmp/build/perf/pmu-events/pmu-events.c > /bin/sh: line 1: 1548 Segmentation fault (core dumped) > /tmp/build/perf/pmu-events/jevents x86 pmu-events/arch > /tmp/build/perf/pmu-events/pmu-events.c > make[2]: *** [/tmp/build/perf/pmu-events/pmu-events.c] Error 139 > make[1]: *** [/tmp/build/perf/pmu-events/pmu-events-in.o] Error 2 > make[1]: *** Waiting for unfinished jobs.... > ----------------------------------------------------------------------- > debian:7: Ok > ----------------------------------------------------------------------- > debian:8: FAIL > GEN /tmp/build/perf/pmu-events/pmu-events.c > Segmentation fault (core dumped) > pmu-events/Build:11: recipe for target > '/tmp/build/perf/pmu-events/pmu-events.c' failed > make[2]: *** [/tmp/build/perf/pmu-events/pmu-events.c] Error 139 > Makefile.perf:461: recipe for target > '/tmp/build/perf/pmu-events/pmu-events-in.o' failed > make[1]: *** [/tmp/build/perf/pmu-events/pmu-events-in.o] Error 2 > make[1]: *** Waiting for unfinished jobs.... > ----------------------------------------------------------------------- > debian:experimental: FAIL > GEN /tmp/build/perf/pmu-events/pmu-events.c > Segmentation fault (core dumped) > pmu-events/Build:11: recipe for target > '/tmp/build/perf/pmu-events/pmu-events.c' failed > make[2]: *** [/tmp/build/perf/pmu-events/pmu-events.c] Error 139 > Makefile.perf:461: recipe for target > '/tmp/build/perf/pmu-events/pmu-events-in.o' failed > make[1]: *** [/tmp/build/perf/pmu-events/pmu-events-in.o] Error 2 > ----------------------------------------------------------------------- > fedora:20: FAIL > /bin/sh: line 1: 1460 Segmentation fault (core dumped) > /tmp/build/perf/pmu-events/jevents x86 pmu-events/arch > /tmp/build/perf/pmu-events/pmu-events.c > make[2]: *** [/tmp/build/perf/pmu-events/pmu-events.c] Error 139 > make[1]: *** [/tmp/build/perf/pmu-events/pmu-events-in.o] Error 2 > make[1]: *** Waiting for unfinished jobs.... > -----------------------------------------------------------------------