On Tue, Jul 17, 2018 at 10:51:29PM +0300, Konstantin Khlebnikov wrote: > On 17.07.2018 16:15, Greg Kroah-Hartman wrote: > > On Tue, Jul 17, 2018 at 03:57:21PM +0300, Konstantin Khlebnikov wrote: > > > This commit depends on commit 9564a8cf422d7b58f6e857e3546d346fa970191e > > > "Kbuild: fix # escaping in .cmd files for future Make" > > > which is missing in 4.4.141 > > > > > > > > > this breaks compilation of tools/perf for me > > > > > > make -C tools/perf V=1 JOBS=24 WERROR=0 NO_GTK2=1 LDFLAGS=-static all > > > make[1]: Entering directory `/tmp/buildd/linux-yandex-4.4.141/tools/perf' > > > BUILD: Doing 'make -j24' parallel build > > > > > > Auto-detecting system features: > > > ... dwarf: [ on ] > > > ... dwarf_getlocations: [ OFF ] > > > ... glibc: [ on ] > > > ... gtk2: [ OFF ] > > > ... libaudit: [ on ] > > > ... libbfd: [ on ] > > > ... libelf: [ on ] > > > ... libnuma: [ on ] > > > ... numa_num_possible_cpus: [ on ] > > > ... libperl: [ OFF ] > > > ... libpython: [ OFF ] > > > ... libslang: [ on ] > > > ... libunwind: [ on ] > > > ... libdw-dwarf-unwind: [ OFF ] > > > ... zlib: [ on ] > > > ... lzma: [ on ] > > > ... get_cpuid: [ on ] > > > ... bpf: [ on ] > > > > > > config/Makefile:274: No libdw DWARF unwind found, Please install elfutils-devel/libdw-dev >= 0.158 and/or set LIBDW_DIR > > > config/Makefile:282: Old libdw.h, finding variables at given 'perf probe' point will not work, install elfutils-devel/libdw-dev >= 0.157 > > > config/Makefile:458: Missing perl devel files. Disabling perl scripting support, please install perl-ExtUtils-Embed/libperl-dev > > > config/Makefile:501: No 'Python.h' (for Python 2.x support) was found: disables Python support - please install python-devel/python-dev > > > $(:) > > > make -C /tmp/buildd/linux-yandex-4.4.141/tools/build fixdep > > > /bin/sh util/PERF-VERSION-GEN > > > make -f /tmp/buildd/linux-yandex-4.4.141/tools/build/Makefile.build dir=. obj=fixdep > > > . util/generate-cmdlist.sh > common-cmds.h+ && mv common-cmds.h+ common-cmds.h > > > .fixdep.o.cmd:1: *** missing separator. Stop. > > > make[3]: *** [fixdep-in.o] Error 2 > > > make[2]: *** [fixdep] Error 2 > > > > Ok, backporting the Makefile fixes resolves this issue. But perf still > > fails to build for me due to some futex errors, which is odd, do you see > > that too? > > Compilation fails only for modern glibc, like in ubuntu 18.04 bionic. > Xenial 16.04 and precise 12.04 are fine. > > I've bisected to indirect fix in linux 4.8 > commit cec07f53c398f22576df77052c4777dc13f14962 > ("perf tools: Move syscall number fallbacks from perf-sys.h to tools/arch/x86/include/asm/") > > To 4.4.y it applies clearly. Yes! Thanks for figuring this out, it's been bothering me for a while now. Now queued up. greg k-h