* v6.7: Regressions trying to install perf tool
@ 2024-01-08 10:57 Torsten Hilbrich
2024-01-08 22:36 ` Oliver Upton
0 siblings, 1 reply; 2+ messages in thread
From: Torsten Hilbrich @ 2024-01-08 10:57 UTC (permalink / raw)
To: Oliver Upton; +Cc: linux-perf-users
Hello,
I'm currently trying to update to kernel v6.7 and the installation of the perf tool fails. It seems that the output directory is somehow set to
tools/perf/perf which is the name of the perf binary.
----- cut ------------------------------------------
[DEVSHELL(linux-tools):tools]$ make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_GTK2=1 NO_LIBTRACEEVENT=1 DESTDIR=$PWD/foo perf_install
make[1]: Entering directory '/build/client/devel/linux-tools/work/linux-2.6/tools'
mkdir -p perf && make subdir=perf -C perf install
make[2]: Entering directory '/build/client/devel/linux-tools/work/linux-2.6/tools/perf'
BUILD: Doing 'make -j64' parallel build
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/build CFLAGS= LDFLAGS= fixdep
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=. obj=fixdep
Warning: Kernel ABI header differences:
diff -u tools/include/uapi/linux/fcntl.h include/uapi/linux/fcntl.h
diff -u tools/arch/x86/lib/memcpy_64.S arch/x86/lib/memcpy_64.S
diff -u tools/arch/x86/lib/memset_64.S arch/x86/lib/memset_64.S
make FIXDEP=1 -f Makefile.perf install
Makefile.config:607: No sys/sdt.h found, no SDT events are defined, please install systemtap-sdt-devel or systemtap-sdt-dev
Makefile.config:655: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR
Makefile.config:879: Python support disabled by user
Makefile.config:992: No liblzma found, disables xz kernel module decompression, please install xz-devel/liblzma-dev
Makefile.config:1005: No libzstd found, disables trace compression, please install libzstd-dev[el] and/or set LIBZSTD_DIR
Makefile.config:1029: No numa.h found, disables 'perf bench numa mem' benchmark, please install numactl-devel/libnuma-devel/libnuma-dev
Makefile.config:1088: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
Makefile.config:1153: libpfm4 not found, disables libpfm4 support. Please install libpfm4-dev
Auto-detecting system features:
... dwarf: [ on ]
... dwarf_getlocations: [ on ]
... glibc: [ on ]
... libbfd: [ on ]
... libbfd-buildid: [ on ]
... libcap: [ on ]
... libelf: [ on ]
... libnuma: [ OFF ]
... numa_num_possible_cpus: [ OFF ]
... libperl: [ OFF ]
... libpython: [ on ]
... libcrypto: [ on ]
... libunwind: [ OFF ]
... libdw-dwarf-unwind: [ on ]
... zlib: [ on ]
... lzma: [ OFF ]
... get_cpuid: [ on ]
... bpf: [ on ]
... libaio: [ on ]
... libzstd: [ OFF ]
$(:)
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/lib/api/ O=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libapi \
DESTDIR=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libapi prefix= subdir= \
/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libapi/libapi.a install_headers
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/lib/perf/ O=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libperf \
DESTDIR=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libperf prefix= subdir= \
/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libperf/libperf.a install_headers
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/lib/subcmd/ O=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libsubcmd \
DESTDIR=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libsubcmd prefix= subdir= \
/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libsubcmd/libsubcmd.a install_headers
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/lib/symbol/ O=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libsymbol \
DESTDIR=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libsymbol prefix= subdir= \
/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libsymbol/libsymbol.a install_headers
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/lib/bpf/ FEATURES_DUMP=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/FEATURE-DUMP \
O= OUTPUT=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libbpf/ DESTDIR=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libbpf prefix= subdir= \
/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libbpf/libbpf.a install_headers
/bin/sh util/PERF-VERSION-GEN
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/arch/arm64/tools O=/build/client/devel/linux-tools/work/linux-2.6/tools/perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=jvmti obj=jvmti
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/perf/tests/shell/coresight
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/perf/Documentation/ O= try-install-man ASCIIDOC_EXTRA=
/bin/sh: 1: cd: can't cd to /build/client/devel/linux-tools/work/linux-2.6/tools/perf/perf/
/build/client/devel/linux-tools/work/linux-2.6/tools/scripts/Makefile.include:17: *** output directory "/build/client/devel/linux-tools/work/linux-2.6/tools/perf/perf/" does not exist. Stop.
make[4]: *** [Makefile.perf:445: arm64-sysreg-defs] Error 2
make[4]: *** Waiting for unfinished jobs....
make[5]: 'install_headers' is up to date.
make[5]: 'install_headers' is up to date.
Makefile:210: Please install asciidoc to have the man pages installed
make[5]: Nothing to be done for 'try-install-man'.
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./fd obj=libapi
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./fs obj=libapi
make[5]: 'install_headers' is up to date.
make[5]: 'install_headers' is up to date.
make[5]: 'install_headers' is up to date.
make[3]: *** [Makefile.perf:242: sub-make] Error 2
make[2]: *** [Makefile:113: install] Error 2
make[2]: Leaving directory '/build/client/devel/linux-tools/work/linux-2.6/tools/perf'
make[1]: *** [Makefile:132: perf_install] Error 2
make[1]: Leaving directory '/build/client/devel/linux-tools/work/linux-2.6/tools'
----- cut ------------------------------------------
When I revert the following commit:
commit a29ee6aea7030786a63fde0d6d83a8f477b060fb
Author: Oliver Upton <oliver.upton@linux.dev>
Date: Tue Nov 21 19:29:56 2023 +0000
perf build: Ensure sysreg-defs Makefile respects output dir
Currently the sysreg-defs are written out to the source tree
unconditionally, ignoring the specified output directory. Correct the
build rule to emit the header to the output directory. Opportunistically
reorganize the rules to avoid interleaving with the set of beauty make
rules.
(after fixing some conflicts in tools/testing/selftests/kvm/Makefile) the installation worked fine:
----- cut ------------------------------------------
[DEVSHELL(linux-tools):tools]$ make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_GTK2=1 NO_LIBTRACEEVENT=1 DESTDIR=$PWD/foo perf_install
make[1]: Entering directory '/build/client/devel/linux-tools/work/linux-2.6/tools'
mkdir -p perf && make subdir=perf -C perf install
make[2]: Entering directory '/build/client/devel/linux-tools/work/linux-2.6/tools/perf'
BUILD: Doing 'make -j64' parallel build
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/build CFLAGS= LDFLAGS= fixdep
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=. obj=fixdep
Warning: Kernel ABI header differences:
diff -u tools/include/uapi/linux/fcntl.h include/uapi/linux/fcntl.h
diff -u tools/arch/x86/lib/memcpy_64.S arch/x86/lib/memcpy_64.S
diff -u tools/arch/x86/lib/memset_64.S arch/x86/lib/memset_64.S
make FIXDEP=1 -f Makefile.perf install
Makefile.config:607: No sys/sdt.h found, no SDT events are defined, please install systemtap-sdt-devel or systemtap-sdt-dev
Makefile.config:655: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR
Makefile.config:879: Python support disabled by user
Makefile.config:992: No liblzma found, disables xz kernel module decompression, please install xz-devel/liblzma-dev
Makefile.config:1005: No libzstd found, disables trace compression, please install libzstd-dev[el] and/or set LIBZSTD_DIR
Makefile.config:1029: No numa.h found, disables 'perf bench numa mem' benchmark, please install numactl-devel/libnuma-devel/libnuma-dev
Makefile.config:1088: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
Makefile.config:1153: libpfm4 not found, disables libpfm4 support. Please install libpfm4-dev
Auto-detecting system features:
... dwarf: [ on ]
... dwarf_getlocations: [ on ]
... glibc: [ on ]
... libbfd: [ on ]
... libbfd-buildid: [ on ]
... libcap: [ on ]
... libelf: [ on ]
... libnuma: [ OFF ]
... numa_num_possible_cpus: [ OFF ]
... libperl: [ OFF ]
... libpython: [ on ]
... libcrypto: [ on ]
... libunwind: [ OFF ]
... libdw-dwarf-unwind: [ on ]
... zlib: [ on ]
... lzma: [ OFF ]
... get_cpuid: [ on ]
... bpf: [ on ]
... libaio: [ on ]
... libzstd: [ OFF ]
$(:)
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/lib/api/ O=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libapi \
DESTDIR=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libapi prefix= subdir= \
/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libapi/libapi.a install_headers
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/lib/perf/ O=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libperf \
DESTDIR=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libperf prefix= subdir= \
/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libperf/libperf.a install_headers
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/lib/subcmd/ O=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libsubcmd \
DESTDIR=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libsubcmd prefix= subdir= \
/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libsubcmd/libsubcmd.a install_headers
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/lib/symbol/ O=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libsymbol \
DESTDIR=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libsymbol prefix= subdir= \
/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libsymbol/libsymbol.a install_headers
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/lib/bpf/ FEATURES_DUMP=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/FEATURE-DUMP \
O= OUTPUT=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libbpf/ DESTDIR=/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libbpf prefix= subdir= \
/build/client/devel/linux-tools/work/linux-2.6/tools/perf/libbpf/libbpf.a install_headers
/bin/sh util/PERF-VERSION-GEN
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/arch/arm64/tools
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=jvmti obj=jvmti
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/perf/tests/shell/coresight
make -C /build/client/devel/linux-tools/work/linux-2.6/tools/perf/Documentation/ O= try-install-man ASCIIDOC_EXTRA=
make[5]: 'install_headers' is up to date.
make[5]: 'install_headers' is up to date.
make[5]: 'install_headers' is up to date.
Makefile:210: Please install asciidoc to have the man pages installed
make[5]: Nothing to be done for 'try-install-man'.
make[5]: 'install_headers' is up to date.
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./fd obj=libapi
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./fs obj=libapi
make[5]: 'install_headers' is up to date.
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=. obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=pmu-events obj=pmu-events
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./bench obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./tests obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./util obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./arch obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./ui obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./scripts obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./arch/x86 obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./arch/x86/util obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./arch/x86/tests obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./ui/browsers obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./ui/tui obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./tests/workloads obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./util/perf-regs-arch obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./util/intel-pt-decoder obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./util/arm-spe-decoder obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./util/hisi-ptt-decoder obj=perf
make -f /build/client/devel/linux-tools/work/linux-2.6/tools/build/Makefile.build dir=./util/scripting-engines obj=perf
\
install -d -m 755 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/bin'; \
install perf '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/bin'; \
ln -f '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/bin/perf' '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/bin/trace'; \
install -d -m 755 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/include/perf'; \
install -m 644 include/perf/perf_dlfilter.h -t '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/include/perf'
\
install -d -m 755 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/tests'; \
install tests/attr.py -m 644 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/tests'; \
install tests/pe-file.exe* '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/tests'; \
install -d -m 755 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/tests/attr'; \
install tests/attr/* -m 644 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/tests/attr'; \
install -d -m 755 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/tests/shell'; \
install tests/shell/*.sh '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/tests/shell'; \
install -d -m 755 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/tests/shell/lib'; \
install tests/shell/lib/*.sh -m 644 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/tests/shell/lib'; \
install tests/shell/lib/*.py -m 644 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/tests/shell/lib'; \
install -d -m 755 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/tests/shell/coresight' ; \
install tests/shell/coresight/*.sh '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/tests/shell/coresight'
\
install perf-read-vdso32 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/bin';
\
install perf-read-vdsox32 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/bin';
\
install -d -m 755 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/lib64'; \
install libperf-jvmti.so '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/lib64';
make -C tests/shell/coresight install-tests
\
install -d -m 755 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core'
\
install perf-archive -t '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core'
\
install perf-iostat -t '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core'
\
install -d -m 755 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/share/perf-core/strace/groups'; \
install trace/strace/groups/* -m 644 -t '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/share/perf-core/strace/groups'
\
install -d -m 755 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/dlfilters'; \
install dlfilters/dlfilter-test-api-v0.so dlfilters/dlfilter-test-api-v2.so dlfilters/dlfilter-show-cycles.so '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/libexec/perf-core/dlfilters';
\
install -d -m 755 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/etc/bash_completion.d'; \
install perf-completion.sh -m 644 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/etc/bash_completion.d/perf'
\
install -d -m 755 '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/share/doc/perf-tip'; \
install Documentation/tips.txt -m 644 -t '/build/client/devel/linux-tools/work/linux-2.6/tools/foo/share/doc/perf-tip'
make[2]: Leaving directory '/build/client/devel/linux-tools/work/linux-2.6/tools/perf'
make[1]: Leaving directory '/build/client/devel/linux-tools/work/linux-2.6/tools'
----- cut ------------------------------------------
Is there a better solution to this problem?
Thanks,
Torsten
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: v6.7: Regressions trying to install perf tool
2024-01-08 10:57 v6.7: Regressions trying to install perf tool Torsten Hilbrich
@ 2024-01-08 22:36 ` Oliver Upton
0 siblings, 0 replies; 2+ messages in thread
From: Oliver Upton @ 2024-01-08 22:36 UTC (permalink / raw)
To: Torsten Hilbrich; +Cc: linux-perf-users
Hi Torsten,
On Mon, Jan 08, 2024 at 11:57:14AM +0100, Torsten Hilbrich wrote:
> Hello,
>
> I'm currently trying to update to kernel v6.7 and the installation of the perf tool fails. It seems that the output directory is somehow set to
> tools/perf/perf which is the name of the perf binary.
Thanks for the bug report. I'll look at what it'd take to get the
sysreg-defs Makefile happy with perf, though I must admit I'm tempted to
just rip it out and have the dependents (KVM selftests, perf) invoke the
underlying script directly rather than try to straddle the two different
environments.
--
Thanks,
Oliver
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-01-08 22:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-08 10:57 v6.7: Regressions trying to install perf tool Torsten Hilbrich
2024-01-08 22:36 ` Oliver Upton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.