* [Linux-v5.17-rc6] Building tools/perf with perl v5.34
@ 2022-03-05 7:52 Sedat Dilek
2022-03-05 7:57 ` Sedat Dilek
2022-03-05 20:09 ` Jiri Olsa
0 siblings, 2 replies; 10+ messages in thread
From: Sedat Dilek @ 2022-03-05 7:52 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim
Cc: linux-perf-users, linux-kernel
Hi,
I am here on Debian/unstable AMD64 which switched over to perl v5.34
in February 2022.
Unfortunately, my perf does not build with this (lib)perl version:
$ ~/bin/perf -vv
perf version 5.17-rc6
dwarf: [ on ] # HAVE_DWARF_SUPPORT
dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT
glibc: [ on ] # HAVE_GLIBC_SUPPORT
syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT
libbfd: [ on ] # HAVE_LIBBFD_SUPPORT
libelf: [ on ] # HAVE_LIBELF_SUPPORT
libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT
numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT
libperl: [ OFF ] # HAVE_LIBPERL_SUPPORT
libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT
libslang: [ on ] # HAVE_SLANG_SUPPORT
libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT
libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT
libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT
zlib: [ on ] # HAVE_ZLIB_SUPPORT
lzma: [ on ] # HAVE_LZMA_SUPPORT
get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT
bpf: [ on ] # HAVE_LIBBPF_SUPPORT
aio: [ on ] # HAVE_AIO_SUPPORT
zstd: [ on ] # HAVE_ZSTD_SUPPORT
libpfm4: [ OFF ] # HAVE_LIBPFM
$ grep libperl ../make-log_perf-python3.10-install_bin.txt
9:Makefile.config:788: Missing perl devel files. Disabling perl
scripting support, please install perl-ExtUtils-Embed/libperl-dev
22:... libperl: [ OFF ]
Checking for these requirements:
# dpkg -l | grep perl | grep 5.34 | awk '/^ii/ {print $1 " " $2 " "
$3}' | column -t
ii libperl-dev:amd64 5.34.0-3
ii libperl5.34:amd64 5.34.0-3
ii perl 5.34.0-3
ii perl-base 5.34.0-3
ii perl-modules-5.34 5.34.0-3
# dpkg -L perl-modules-5.34 | grep -i ExtUtils | grep -i Embed
/usr/share/perl/5.34.0/ExtUtils/Embed.pm
Can you please comment on this?
Thanks.
Regards,
- Sedat -
[1] https://unix.stackexchange.com/questions/167292/what-is-debian-equivalent-of-rpm-package-perl-extutils-embed
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [Linux-v5.17-rc6] Building tools/perf with perl v5.34 2022-03-05 7:52 [Linux-v5.17-rc6] Building tools/perf with perl v5.34 Sedat Dilek @ 2022-03-05 7:57 ` Sedat Dilek 2022-03-05 8:26 ` Sedat Dilek 2022-03-05 20:09 ` Jiri Olsa 1 sibling, 1 reply; 10+ messages in thread From: Sedat Dilek @ 2022-03-05 7:57 UTC (permalink / raw) To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim Cc: linux-perf-users, linux-kernel On Sat, Mar 5, 2022 at 8:52 AM Sedat Dilek <sedat.dilek@gmail.com> wrote: > > Hi, > > I am here on Debian/unstable AMD64 which switched over to perl v5.34 > in February 2022. > > Unfortunately, my perf does not build with this (lib)perl version: > > $ ~/bin/perf -vv > perf version 5.17-rc6 > dwarf: [ on ] # HAVE_DWARF_SUPPORT > dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT > glibc: [ on ] # HAVE_GLIBC_SUPPORT > syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT > libbfd: [ on ] # HAVE_LIBBFD_SUPPORT > libelf: [ on ] # HAVE_LIBELF_SUPPORT > libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT > numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT > libperl: [ OFF ] # HAVE_LIBPERL_SUPPORT > libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT > libslang: [ on ] # HAVE_SLANG_SUPPORT > libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT > libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT > libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT > zlib: [ on ] # HAVE_ZLIB_SUPPORT > lzma: [ on ] # HAVE_LZMA_SUPPORT > get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT > bpf: [ on ] # HAVE_LIBBPF_SUPPORT > aio: [ on ] # HAVE_AIO_SUPPORT > zstd: [ on ] # HAVE_ZSTD_SUPPORT > libpfm4: [ OFF ] # HAVE_LIBPFM > > $ grep libperl ../make-log_perf-python3.10-install_bin.txt > 9:Makefile.config:788: Missing perl devel files. Disabling perl > scripting support, please install perl-ExtUtils-Embed/libperl-dev > 22:... libperl: [ OFF ] > > Checking for these requirements: > > # dpkg -l | grep perl | grep 5.34 | awk '/^ii/ {print $1 " " $2 " " > $3}' | column -t > ii libperl-dev:amd64 5.34.0-3 > ii libperl5.34:amd64 5.34.0-3 > ii perl 5.34.0-3 > ii perl-base 5.34.0-3 > ii perl-modules-5.34 5.34.0-3 > > # dpkg -L perl-modules-5.34 | grep -i ExtUtils | grep -i Embed > /usr/share/perl/5.34.0/ExtUtils/Embed.pm > > Can you please comment on this? > > Thanks. > > Regards, > - Sedat - > > [1] https://unix.stackexchange.com/questions/167292/what-is-debian-equivalent-of-rpm-package-perl-extutils-embed My command-line: cd /path/to/linux.git $ make V=1 -j4 HOSTCC=clang HOSTCXX=clang++ HOSTLD=ld.lld HOSTAR=llvm-ar CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump OBJSIZE=llvm-size READELF=llvm-readelf STRIP=llvm-strip LLVM_IAS=1 -C tools/perf PYTHON=python3.10 install-bin I use the -gnu-std-11 patchset plus some own: $ git log --oneline v5.17-rc6.. | grep 'std=gnu11' 05d8e9b88918 tools: libtraceevent: Use -std=gnu11 ee44279e6b01 tools: libsubcmd: Use -std=gnu11 411fa2d6da5c tools: libapi: Use -std=gnu11 3f0092b7e1b9 tools: perf: Use -std=gnu11 0cf56ddf2b41 tools: libbpf: Use -std=gnu11 96a4222bdd4c Kbuild: use -std=gnu11 for KBUILD_USERCFLAGS 6a7cc105b238 Kbuild: move to -std=gnu11 If this matters... - Sedat - ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Linux-v5.17-rc6] Building tools/perf with perl v5.34 2022-03-05 7:57 ` Sedat Dilek @ 2022-03-05 8:26 ` Sedat Dilek 2022-03-05 11:11 ` Sedat Dilek 0 siblings, 1 reply; 10+ messages in thread From: Sedat Dilek @ 2022-03-05 8:26 UTC (permalink / raw) To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim Cc: linux-perf-users, linux-kernel On Sat, Mar 5, 2022 at 8:57 AM Sedat Dilek <sedat.dilek@gmail.com> wrote: > > On Sat, Mar 5, 2022 at 8:52 AM Sedat Dilek <sedat.dilek@gmail.com> wrote: > > > > Hi, > > > > I am here on Debian/unstable AMD64 which switched over to perl v5.34 > > in February 2022. > > > > Unfortunately, my perf does not build with this (lib)perl version: > > > > $ ~/bin/perf -vv > > perf version 5.17-rc6 > > dwarf: [ on ] # HAVE_DWARF_SUPPORT > > dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT > > glibc: [ on ] # HAVE_GLIBC_SUPPORT > > syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT > > libbfd: [ on ] # HAVE_LIBBFD_SUPPORT > > libelf: [ on ] # HAVE_LIBELF_SUPPORT > > libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT > > numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT > > libperl: [ OFF ] # HAVE_LIBPERL_SUPPORT > > libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT > > libslang: [ on ] # HAVE_SLANG_SUPPORT > > libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT > > libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT > > libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT > > zlib: [ on ] # HAVE_ZLIB_SUPPORT > > lzma: [ on ] # HAVE_LZMA_SUPPORT > > get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT > > bpf: [ on ] # HAVE_LIBBPF_SUPPORT > > aio: [ on ] # HAVE_AIO_SUPPORT > > zstd: [ on ] # HAVE_ZSTD_SUPPORT > > libpfm4: [ OFF ] # HAVE_LIBPFM > > > > $ grep libperl ../make-log_perf-python3.10-install_bin.txt > > 9:Makefile.config:788: Missing perl devel files. Disabling perl > > scripting support, please install perl-ExtUtils-Embed/libperl-dev > > 22:... libperl: [ OFF ] > > > > Checking for these requirements: > > > > # dpkg -l | grep perl | grep 5.34 | awk '/^ii/ {print $1 " " $2 " " > > $3}' | column -t > > ii libperl-dev:amd64 5.34.0-3 > > ii libperl5.34:amd64 5.34.0-3 > > ii perl 5.34.0-3 > > ii perl-base 5.34.0-3 > > ii perl-modules-5.34 5.34.0-3 > > > > # dpkg -L perl-modules-5.34 | grep -i ExtUtils | grep -i Embed > > /usr/share/perl/5.34.0/ExtUtils/Embed.pm > > > > Can you please comment on this? > > > > Thanks. > > > > Regards, > > - Sedat - > > > > [1] https://unix.stackexchange.com/questions/167292/what-is-debian-equivalent-of-rpm-package-perl-extutils-embed > > My command-line: > > cd /path/to/linux.git > > $ make V=1 -j4 HOSTCC=clang HOSTCXX=clang++ HOSTLD=ld.lld > HOSTAR=llvm-ar CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm > OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump OBJSIZE=llvm-size > READELF=llvm-readelf STRIP=llvm-strip LLVM_IAS=1 -C tools/perf > PYTHON=python3.10 install-bin > > I use the -gnu-std-11 patchset plus some own: > > $ git log --oneline v5.17-rc6.. | grep 'std=gnu11' > 05d8e9b88918 tools: libtraceevent: Use -std=gnu11 > ee44279e6b01 tools: libsubcmd: Use -std=gnu11 > 411fa2d6da5c tools: libapi: Use -std=gnu11 > 3f0092b7e1b9 tools: perf: Use -std=gnu11 > 0cf56ddf2b41 tools: libbpf: Use -std=gnu11 > 96a4222bdd4c Kbuild: use -std=gnu11 for KBUILD_USERCFLAGS > 6a7cc105b238 Kbuild: move to -std=gnu11 > > If this matters... > [ tools/perf/Makefile.config ] ifdef NO_LIBPERL CFLAGS += -DNO_LIBPERL else PERL_EMBED_LDOPTS = $(shell perl -MExtUtils::Embed -e ldopts 2>/dev/null) PERL_EMBED_LDFLAGS = $(call strip-libs,$(PERL_EMBED_LDOPTS)) PERL_EMBED_LIBADD = $(call grep-libs,$(PERL_EMBED_LDOPTS)) PERL_EMBED_CCOPTS = $(shell perl -MExtUtils::Embed -e ccopts 2>/dev/null) PERL_EMBED_CCOPTS := $(filter-out -specs=%,$(PERL_EMBED_CCOPTS)) PERL_EMBED_CCOPTS := $(filter-out -flto=auto -ffat-lto-objects, $(PERL_EMBED_CCOPTS)) PERL_EMBED_LDOPTS := $(filter-out -specs=%,$(PERL_EMBED_LDOPTS)) FLAGS_PERL_EMBED=$(PERL_EMBED_CCOPTS) $(PERL_EMBED_LDOPTS) ifneq ($(feature-libperl), 1) CFLAGS += -DNO_LIBPERL NO_LIBPERL := 1 msg := $(warning Missing perl devel files. Disabling perl scripting support, please install perl-ExtUtils-Embed/libperl-dev); else LDFLAGS += $(PERL_EMBED_LDFLAGS) EXTLIBS += $(PERL_EMBED_LIBADD) CFLAGS += -DHAVE_LIBPERL_SUPPORT $(call detected,CONFIG_LIBPERL) endif endif $ perl -MExtUtils::Embed -e ldopts -Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.34/CORE -lperl -ldl -lm -lpthread -lc -lcrypt $ perl -MExtUtils::Embed -e ccopts -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/x86_64-linux-gnu/perl/5.34/CORE - Sedat - ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Linux-v5.17-rc6] Building tools/perf with perl v5.34 2022-03-05 8:26 ` Sedat Dilek @ 2022-03-05 11:11 ` Sedat Dilek 0 siblings, 0 replies; 10+ messages in thread From: Sedat Dilek @ 2022-03-05 11:11 UTC (permalink / raw) To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim Cc: linux-perf-users, linux-kernel On Sat, Mar 5, 2022 at 9:26 AM Sedat Dilek <sedat.dilek@gmail.com> wrote: > > On Sat, Mar 5, 2022 at 8:57 AM Sedat Dilek <sedat.dilek@gmail.com> wrote: > > > > On Sat, Mar 5, 2022 at 8:52 AM Sedat Dilek <sedat.dilek@gmail.com> wrote: > > > > > > Hi, > > > > > > I am here on Debian/unstable AMD64 which switched over to perl v5.34 > > > in February 2022. > > > > > > Unfortunately, my perf does not build with this (lib)perl version: > > > > > > $ ~/bin/perf -vv > > > perf version 5.17-rc6 > > > dwarf: [ on ] # HAVE_DWARF_SUPPORT > > > dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT > > > glibc: [ on ] # HAVE_GLIBC_SUPPORT > > > syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT > > > libbfd: [ on ] # HAVE_LIBBFD_SUPPORT > > > libelf: [ on ] # HAVE_LIBELF_SUPPORT > > > libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT > > > numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT > > > libperl: [ OFF ] # HAVE_LIBPERL_SUPPORT > > > libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT > > > libslang: [ on ] # HAVE_SLANG_SUPPORT > > > libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT > > > libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT > > > libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT > > > zlib: [ on ] # HAVE_ZLIB_SUPPORT > > > lzma: [ on ] # HAVE_LZMA_SUPPORT > > > get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT > > > bpf: [ on ] # HAVE_LIBBPF_SUPPORT > > > aio: [ on ] # HAVE_AIO_SUPPORT > > > zstd: [ on ] # HAVE_ZSTD_SUPPORT > > > libpfm4: [ OFF ] # HAVE_LIBPFM > > > > > > $ grep libperl ../make-log_perf-python3.10-install_bin.txt > > > 9:Makefile.config:788: Missing perl devel files. Disabling perl > > > scripting support, please install perl-ExtUtils-Embed/libperl-dev > > > 22:... libperl: [ OFF ] > > > > > > Checking for these requirements: > > > > > > # dpkg -l | grep perl | grep 5.34 | awk '/^ii/ {print $1 " " $2 " " > > > $3}' | column -t > > > ii libperl-dev:amd64 5.34.0-3 > > > ii libperl5.34:amd64 5.34.0-3 > > > ii perl 5.34.0-3 > > > ii perl-base 5.34.0-3 > > > ii perl-modules-5.34 5.34.0-3 > > > > > > # dpkg -L perl-modules-5.34 | grep -i ExtUtils | grep -i Embed > > > /usr/share/perl/5.34.0/ExtUtils/Embed.pm > > > > > > Can you please comment on this? > > > > > > Thanks. > > > > > > Regards, > > > - Sedat - > > > > > > [1] https://unix.stackexchange.com/questions/167292/what-is-debian-equivalent-of-rpm-package-perl-extutils-embed > > > > My command-line: > > > > cd /path/to/linux.git > > > > $ make V=1 -j4 HOSTCC=clang HOSTCXX=clang++ HOSTLD=ld.lld > > HOSTAR=llvm-ar CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm > > OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump OBJSIZE=llvm-size > > READELF=llvm-readelf STRIP=llvm-strip LLVM_IAS=1 -C tools/perf > > PYTHON=python3.10 install-bin > > > > I use the -gnu-std-11 patchset plus some own: > > > > $ git log --oneline v5.17-rc6.. | grep 'std=gnu11' > > 05d8e9b88918 tools: libtraceevent: Use -std=gnu11 > > ee44279e6b01 tools: libsubcmd: Use -std=gnu11 > > 411fa2d6da5c tools: libapi: Use -std=gnu11 > > 3f0092b7e1b9 tools: perf: Use -std=gnu11 > > 0cf56ddf2b41 tools: libbpf: Use -std=gnu11 > > 96a4222bdd4c Kbuild: use -std=gnu11 for KBUILD_USERCFLAGS > > 6a7cc105b238 Kbuild: move to -std=gnu11 > > > > If this matters... > > > > [ tools/perf/Makefile.config ] > > ifdef NO_LIBPERL > CFLAGS += -DNO_LIBPERL > else > PERL_EMBED_LDOPTS = $(shell perl -MExtUtils::Embed -e ldopts 2>/dev/null) > PERL_EMBED_LDFLAGS = $(call strip-libs,$(PERL_EMBED_LDOPTS)) > PERL_EMBED_LIBADD = $(call grep-libs,$(PERL_EMBED_LDOPTS)) > PERL_EMBED_CCOPTS = $(shell perl -MExtUtils::Embed -e ccopts 2>/dev/null) > PERL_EMBED_CCOPTS := $(filter-out -specs=%,$(PERL_EMBED_CCOPTS)) > PERL_EMBED_CCOPTS := $(filter-out -flto=auto -ffat-lto-objects, > $(PERL_EMBED_CCOPTS)) > PERL_EMBED_LDOPTS := $(filter-out -specs=%,$(PERL_EMBED_LDOPTS)) > FLAGS_PERL_EMBED=$(PERL_EMBED_CCOPTS) $(PERL_EMBED_LDOPTS) > > ifneq ($(feature-libperl), 1) > CFLAGS += -DNO_LIBPERL > NO_LIBPERL := 1 > msg := $(warning Missing perl devel files. Disabling perl > scripting support, please install perl-ExtUtils-Embed/libperl-dev); > else > LDFLAGS += $(PERL_EMBED_LDFLAGS) > EXTLIBS += $(PERL_EMBED_LIBADD) > CFLAGS += -DHAVE_LIBPERL_SUPPORT > $(call detected,CONFIG_LIBPERL) > endif > endif > > $ perl -MExtUtils::Embed -e ldopts > -Wl,-E -fstack-protector-strong -L/usr/local/lib > -L/usr/lib/x86_64-linux-gnu/perl/5.34/CORE -lperl -ldl -lm -lpthread > -lc -lcrypt > > $ perl -MExtUtils::Embed -e ccopts > -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe > -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 > -I/usr/lib/x86_64-linux-gnu/perl/5.34/CORE > Looks like an issue when using LLVM/Clang - distro or selfmade does not matter. With GCC I can see libperl enabled. - Sedat - ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Linux-v5.17-rc6] Building tools/perf with perl v5.34 2022-03-05 7:52 [Linux-v5.17-rc6] Building tools/perf with perl v5.34 Sedat Dilek 2022-03-05 7:57 ` Sedat Dilek @ 2022-03-05 20:09 ` Jiri Olsa 2022-03-06 2:28 ` Sedat Dilek 1 sibling, 1 reply; 10+ messages in thread From: Jiri Olsa @ 2022-03-05 20:09 UTC (permalink / raw) To: Sedat Dilek Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim, linux-perf-users, linux-kernel On Sat, Mar 05, 2022 at 08:52:18AM +0100, Sedat Dilek wrote: > Hi, > > I am here on Debian/unstable AMD64 which switched over to perl v5.34 > in February 2022. > > Unfortunately, my perf does not build with this (lib)perl version: > > $ ~/bin/perf -vv > perf version 5.17-rc6 > dwarf: [ on ] # HAVE_DWARF_SUPPORT > dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT > glibc: [ on ] # HAVE_GLIBC_SUPPORT > syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT > libbfd: [ on ] # HAVE_LIBBFD_SUPPORT > libelf: [ on ] # HAVE_LIBELF_SUPPORT > libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT > numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT > libperl: [ OFF ] # HAVE_LIBPERL_SUPPORT > libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT > libslang: [ on ] # HAVE_SLANG_SUPPORT > libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT > libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT > libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT > zlib: [ on ] # HAVE_ZLIB_SUPPORT > lzma: [ on ] # HAVE_LZMA_SUPPORT > get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT > bpf: [ on ] # HAVE_LIBBPF_SUPPORT > aio: [ on ] # HAVE_AIO_SUPPORT > zstd: [ on ] # HAVE_ZSTD_SUPPORT > libpfm4: [ OFF ] # HAVE_LIBPFM > > $ grep libperl ../make-log_perf-python3.10-install_bin.txt > 9:Makefile.config:788: Missing perl devel files. Disabling perl > scripting support, please install perl-ExtUtils-Embed/libperl-dev > 22:... libperl: [ OFF ] > > Checking for these requirements: > > # dpkg -l | grep perl | grep 5.34 | awk '/^ii/ {print $1 " " $2 " " > $3}' | column -t > ii libperl-dev:amd64 5.34.0-3 > ii libperl5.34:amd64 5.34.0-3 > ii perl 5.34.0-3 > ii perl-base 5.34.0-3 > ii perl-modules-5.34 5.34.0-3 > > # dpkg -L perl-modules-5.34 | grep -i ExtUtils | grep -i Embed > /usr/share/perl/5.34.0/ExtUtils/Embed.pm > > Can you please comment on this? hi, is there something in tools/build/feature/test-libperl.make.output ? jirka ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Linux-v5.17-rc6] Building tools/perf with perl v5.34 2022-03-05 20:09 ` Jiri Olsa @ 2022-03-06 2:28 ` Sedat Dilek 2022-03-06 3:18 ` Sedat Dilek 2022-03-06 15:42 ` Jiri Olsa 0 siblings, 2 replies; 10+ messages in thread From: Sedat Dilek @ 2022-03-06 2:28 UTC (permalink / raw) To: Jiri Olsa Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim, linux-perf-users, linux-kernel [-- Attachment #1: Type: text/plain, Size: 3008 bytes --] On Sat, Mar 5, 2022 at 9:09 PM Jiri Olsa <olsajiri@gmail.com> wrote: > > On Sat, Mar 05, 2022 at 08:52:18AM +0100, Sedat Dilek wrote: > > Hi, > > > > I am here on Debian/unstable AMD64 which switched over to perl v5.34 > > in February 2022. > > > > Unfortunately, my perf does not build with this (lib)perl version: > > > > $ ~/bin/perf -vv > > perf version 5.17-rc6 > > dwarf: [ on ] # HAVE_DWARF_SUPPORT > > dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT > > glibc: [ on ] # HAVE_GLIBC_SUPPORT > > syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT > > libbfd: [ on ] # HAVE_LIBBFD_SUPPORT > > libelf: [ on ] # HAVE_LIBELF_SUPPORT > > libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT > > numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT > > libperl: [ OFF ] # HAVE_LIBPERL_SUPPORT > > libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT > > libslang: [ on ] # HAVE_SLANG_SUPPORT > > libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT > > libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT > > libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT > > zlib: [ on ] # HAVE_ZLIB_SUPPORT > > lzma: [ on ] # HAVE_LZMA_SUPPORT > > get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT > > bpf: [ on ] # HAVE_LIBBPF_SUPPORT > > aio: [ on ] # HAVE_AIO_SUPPORT > > zstd: [ on ] # HAVE_ZSTD_SUPPORT > > libpfm4: [ OFF ] # HAVE_LIBPFM > > > > $ grep libperl ../make-log_perf-python3.10-install_bin.txt > > 9:Makefile.config:788: Missing perl devel files. Disabling perl > > scripting support, please install perl-ExtUtils-Embed/libperl-dev > > 22:... libperl: [ OFF ] > > > > Checking for these requirements: > > > > # dpkg -l | grep perl | grep 5.34 | awk '/^ii/ {print $1 " " $2 " " > > $3}' | column -t > > ii libperl-dev:amd64 5.34.0-3 > > ii libperl5.34:amd64 5.34.0-3 > > ii perl 5.34.0-3 > > ii perl-base 5.34.0-3 > > ii perl-modules-5.34 5.34.0-3 > > > > # dpkg -L perl-modules-5.34 | grep -i ExtUtils | grep -i Embed > > /usr/share/perl/5.34.0/ExtUtils/Embed.pm > > > > Can you please comment on this? > > hi, > is there something in tools/build/feature/test-libperl.make.output ? > Hey jirka! Indeed there is such a file. $ LC_ALL=C ll tools/build/feature/test-libperl.make.output -rw-r--r-- 1 dileks dileks 24K Mar 6 03:22 tools/build/feature/test-libperl.make.output Reproducer: make distclean make -C tools/perf clean MAKE="make" MAKE_OPTS="HOSTCC=clang-13 HOSTCXX=clang++-13 HOSTLD=ld.lld-13 HOSTAR=llvm-ar-13 CC=clang-13 LD=ld.lld-13 AR=llvm-ar-13 NM=llvm-nm-13 OBJCOPY=llvm-objcopy-13 OBJDUMP=llvm-objdump-13 OBJSIZE=llvm-size-13 READELF=llvm-readelf-13 STRIP=llvm-strip-13 LLVM_IAS=1" LC_ALL=C $MAKE V=1 $MAKE_OPTS -C tools/perf PYTHON=python3 install-bin - Sedat - [-- Attachment #2: test-libperl.make.output --] [-- Type: application/octet-stream, Size: 24131 bytes --] In file included from test-libperl.c:3: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:4085: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv.h:659: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv_func.h:34: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/sbox32_hash.h:4: /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:150:5: error: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:737:29: note: expanded from macro 'STMT_START' # define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:150:5: note: '{' token is here ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:150:5: error: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' v ^= (v>>23); \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:150:5: note: ')' token is here ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' } STMT_END ^~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:738:21: note: expanded from macro 'STMT_END' # define STMT_END ) ^ In file included from test-libperl.c:3: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:4085: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv.h:659: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv_func.h:34: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/sbox32_hash.h:4: /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:151:5: error: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:737:29: note: expanded from macro 'STMT_START' # define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:151:5: note: '{' token is here ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:151:5: error: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' v ^= (v>>23); \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:151:5: note: ')' token is here ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' } STMT_END ^~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:738:21: note: expanded from macro 'STMT_END' # define STMT_END ) ^ In file included from test-libperl.c:3: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:4085: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv.h:659: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv_func.h:34: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/sbox32_hash.h:4: /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:152:5: error: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:737:29: note: expanded from macro 'STMT_START' # define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:152:5: note: '{' token is here ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:152:5: error: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' v ^= (v>>23); \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:152:5: note: ')' token is here ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' } STMT_END ^~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:738:21: note: expanded from macro 'STMT_END' # define STMT_END ) ^ In file included from test-libperl.c:3: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:4085: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv.h:659: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv_func.h:34: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/sbox32_hash.h:4: /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:156:5: error: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX' #define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START { \ ^~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:737:29: note: expanded from macro 'STMT_START' # define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:156:5: note: '{' token is here ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX' #define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START { \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:156:5: error: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX' v2 = ROTR32(v2, 7) ^ v0; \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:156:5: note: ')' token is here ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX' } STMT_END ^~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:738:21: note: expanded from macro 'STMT_END' # define STMT_END ) ^ In file included from test-libperl.c:3: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:4085: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv.h:659: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv_func.h:34: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/sbox32_hash.h:4: /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:157:5: error: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX' #define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START { \ ^~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:737:29: note: expanded from macro 'STMT_START' # define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:157:5: note: '{' token is here ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX' #define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START { \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:157:5: error: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX' v2 = ROTR32(v2, 7) ^ v0; \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:157:5: note: ')' token is here ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX' } STMT_END ^~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:738:21: note: expanded from macro 'STMT_END' # define STMT_END ) ^ In file included from test-libperl.c:3: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:4085: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv.h:659: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv_func.h:34: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/sbox32_hash.h:4: /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:158:5: error: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX' #define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START { \ ^~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:737:29: note: expanded from macro 'STMT_START' # define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:158:5: note: '{' token is here ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX' #define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START { \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:158:5: error: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX' v2 = ROTR32(v2, 7) ^ v0; \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:158:5: note: ')' token is here ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX' } STMT_END ^~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:738:21: note: expanded from macro 'STMT_END' # define STMT_END ) ^ In file included from test-libperl.c:3: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:4085: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv.h:659: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv_func.h:34: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/sbox32_hash.h:4: /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:159:5: error: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX' #define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START { \ ^~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:737:29: note: expanded from macro 'STMT_START' # define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:159:5: note: '{' token is here ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX' #define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START { \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:159:5: error: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX' v2 = ROTR32(v2, 7) ^ v0; \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:159:5: note: ')' token is here ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX' } STMT_END ^~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:738:21: note: expanded from macro 'STMT_END' # define STMT_END ) ^ In file included from test-libperl.c:3: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:4085: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv.h:659: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv_func.h:34: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/sbox32_hash.h:4: /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:162:5: error: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:737:29: note: expanded from macro 'STMT_START' # define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:162:5: note: '{' token is here ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:162:5: error: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' v ^= (v>>23); \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:162:5: note: ')' token is here ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' } STMT_END ^~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:738:21: note: expanded from macro 'STMT_END' # define STMT_END ) ^ In file included from test-libperl.c:3: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:4085: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv.h:659: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv_func.h:34: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/sbox32_hash.h:4: /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:163:5: error: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_SCRAMBLE32(state[1],0x8497242b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:737:29: note: expanded from macro 'STMT_START' # define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:163:5: note: '{' token is here ZAPHOD32_SCRAMBLE32(state[1],0x8497242b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:163:5: error: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_SCRAMBLE32(state[1],0x8497242b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' v ^= (v>>23); \ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:163:5: note: ')' token is here ZAPHOD32_SCRAMBLE32(state[1],0x8497242b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' } STMT_END ^~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:738:21: note: expanded from macro 'STMT_END' # define STMT_END ) ^ In file included from test-libperl.c:3: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:4085: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv.h:659: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/hv_func.h:34: In file included from /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/sbox32_hash.h:4: /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:164:5: error: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Werror,-Wcompound-token-split-by-macro] ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/perl.h:737:29: note: expanded from macro 'STMT_START' # define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */ ^ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:164:5: note: '{' token is here ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/x86_64-linux-gnu/perl/5.34/CORE/zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32' #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Linux-v5.17-rc6] Building tools/perf with perl v5.34 2022-03-06 2:28 ` Sedat Dilek @ 2022-03-06 3:18 ` Sedat Dilek 2022-03-06 15:42 ` Jiri Olsa 1 sibling, 0 replies; 10+ messages in thread From: Sedat Dilek @ 2022-03-06 3:18 UTC (permalink / raw) To: Jiri Olsa Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim, linux-perf-users, linux-kernel On Sun, Mar 6, 2022 at 3:28 AM Sedat Dilek <sedat.dilek@gmail.com> wrote: > > On Sat, Mar 5, 2022 at 9:09 PM Jiri Olsa <olsajiri@gmail.com> wrote: > > > > On Sat, Mar 05, 2022 at 08:52:18AM +0100, Sedat Dilek wrote: > > > Hi, > > > > > > I am here on Debian/unstable AMD64 which switched over to perl v5.34 > > > in February 2022. > > > > > > Unfortunately, my perf does not build with this (lib)perl version: > > > > > > $ ~/bin/perf -vv > > > perf version 5.17-rc6 > > > dwarf: [ on ] # HAVE_DWARF_SUPPORT > > > dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT > > > glibc: [ on ] # HAVE_GLIBC_SUPPORT > > > syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT > > > libbfd: [ on ] # HAVE_LIBBFD_SUPPORT > > > libelf: [ on ] # HAVE_LIBELF_SUPPORT > > > libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT > > > numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT > > > libperl: [ OFF ] # HAVE_LIBPERL_SUPPORT > > > libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT > > > libslang: [ on ] # HAVE_SLANG_SUPPORT > > > libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT > > > libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT > > > libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT > > > zlib: [ on ] # HAVE_ZLIB_SUPPORT > > > lzma: [ on ] # HAVE_LZMA_SUPPORT > > > get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT > > > bpf: [ on ] # HAVE_LIBBPF_SUPPORT > > > aio: [ on ] # HAVE_AIO_SUPPORT > > > zstd: [ on ] # HAVE_ZSTD_SUPPORT > > > libpfm4: [ OFF ] # HAVE_LIBPFM > > > > > > $ grep libperl ../make-log_perf-python3.10-install_bin.txt > > > 9:Makefile.config:788: Missing perl devel files. Disabling perl > > > scripting support, please install perl-ExtUtils-Embed/libperl-dev > > > 22:... libperl: [ OFF ] > > > > > > Checking for these requirements: > > > > > > # dpkg -l | grep perl | grep 5.34 | awk '/^ii/ {print $1 " " $2 " " > > > $3}' | column -t > > > ii libperl-dev:amd64 5.34.0-3 > > > ii libperl5.34:amd64 5.34.0-3 > > > ii perl 5.34.0-3 > > > ii perl-base 5.34.0-3 > > > ii perl-modules-5.34 5.34.0-3 > > > > > > # dpkg -L perl-modules-5.34 | grep -i ExtUtils | grep -i Embed > > > /usr/share/perl/5.34.0/ExtUtils/Embed.pm > > > > > > Can you please comment on this? > > > > hi, > > is there something in tools/build/feature/test-libperl.make.output ? > > > > Hey jirka! > > Indeed there is such a file. > > $ LC_ALL=C ll tools/build/feature/test-libperl.make.output > -rw-r--r-- 1 dileks dileks 24K Mar 6 03:22 > tools/build/feature/test-libperl.make.output > > Reproducer: > > make distclean > make -C tools/perf clean > > MAKE="make" > MAKE_OPTS="HOSTCC=clang-13 HOSTCXX=clang++-13 HOSTLD=ld.lld-13 > HOSTAR=llvm-ar-13 CC=clang-13 LD=ld.lld-13 AR=llvm-ar-13 NM=llvm-nm-13 > OBJCOPY=llvm-objcopy-13 OBJDUMP=llvm-objdump-13 OBJSIZE=llvm-size-13 > READELF=llvm-readelf-13 STRIP=llvm-strip-13 LLVM_IAS=1" > > LC_ALL=C $MAKE V=1 $MAKE_OPTS -C tools/perf PYTHON=python3 install-bin > > - Sedat - With this diff: $ git diff diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile index 1480910c792e..ef9b37c5c652 100644 --- a/tools/build/feature/Makefile +++ b/tools/build/feature/Makefile @@ -81,7 +81,7 @@ PKG_CONFIG ?= $(CROSS_COMPILE)pkg-config all: $(FILES) -__BUILD = $(CC) $(CFLAGS) -MD -Wall -Werror -o $@ $(patsubst %.bin,%.c,$(@F)) $(LDFLAGS) +__BUILD = $(CC) $(CFLAGS) -MD -Wall -Werror -Wno-compound-token-split-by-macro -o $@ $(patsubst %.bin,%.c,$(@F)) $(LDFLAGS) BUILD = $(__BUILD) > $(@:.bin=.make.output) 2>&1 __BUILDXX = $(CXX) $(CXXFLAGS) -MD -Wall -Werror -o $@ $(patsubst %.bin,%.cpp,$(@F)) $(LDFLAGS) diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index 913bf509bd17..c3e5bcf5264a 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -213,7 +213,7 @@ endif # Treat warnings as errors unless directed not to ifneq ($(WERROR),0) - CORE_CFLAGS += -Werror + CORE_CFLAGS += -Werror -Wno-compound-token-split-by-macro CXXFLAGS += -Werror HOSTCFLAGS += -Werror endif I am able to build with libperl support: $ ~/bin/perf -vv perf version 5.17-rc6 dwarf: [ on ] # HAVE_DWARF_SUPPORT dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT glibc: [ on ] # HAVE_GLIBC_SUPPORT syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT libbfd: [ on ] # HAVE_LIBBFD_SUPPORT libelf: [ on ] # HAVE_LIBELF_SUPPORT libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT libperl: [ on ] # HAVE_LIBPERL_SUPPORT libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT libslang: [ on ] # HAVE_SLANG_SUPPORT libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT zlib: [ on ] # HAVE_ZLIB_SUPPORT lzma: [ on ] # HAVE_LZMA_SUPPORT get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT bpf: [ on ] # HAVE_LIBBPF_SUPPORT aio: [ on ] # HAVE_AIO_SUPPORT zstd: [ on ] # HAVE_ZSTD_SUPPORT libpfm4: [ OFF ] # HAVE_LIBPFM Dunno if I need "-Werror -Wno-compound-token-split-by-macro" for any HOSTCXX/CXX flags. - Sedat - ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Linux-v5.17-rc6] Building tools/perf with perl v5.34 2022-03-06 2:28 ` Sedat Dilek 2022-03-06 3:18 ` Sedat Dilek @ 2022-03-06 15:42 ` Jiri Olsa 2022-03-06 16:00 ` Sedat Dilek 1 sibling, 1 reply; 10+ messages in thread From: Jiri Olsa @ 2022-03-06 15:42 UTC (permalink / raw) To: Sedat Dilek Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim, linux-perf-users, linux-kernel On Sun, Mar 06, 2022 at 03:28:09AM +0100, Sedat Dilek wrote: > On Sat, Mar 5, 2022 at 9:09 PM Jiri Olsa <olsajiri@gmail.com> wrote: > > > > On Sat, Mar 05, 2022 at 08:52:18AM +0100, Sedat Dilek wrote: > > > Hi, > > > > > > I am here on Debian/unstable AMD64 which switched over to perl v5.34 > > > in February 2022. > > > > > > Unfortunately, my perf does not build with this (lib)perl version: > > > > > > $ ~/bin/perf -vv > > > perf version 5.17-rc6 > > > dwarf: [ on ] # HAVE_DWARF_SUPPORT > > > dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT > > > glibc: [ on ] # HAVE_GLIBC_SUPPORT > > > syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT > > > libbfd: [ on ] # HAVE_LIBBFD_SUPPORT > > > libelf: [ on ] # HAVE_LIBELF_SUPPORT > > > libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT > > > numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT > > > libperl: [ OFF ] # HAVE_LIBPERL_SUPPORT > > > libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT > > > libslang: [ on ] # HAVE_SLANG_SUPPORT > > > libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT > > > libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT > > > libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT > > > zlib: [ on ] # HAVE_ZLIB_SUPPORT > > > lzma: [ on ] # HAVE_LZMA_SUPPORT > > > get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT > > > bpf: [ on ] # HAVE_LIBBPF_SUPPORT > > > aio: [ on ] # HAVE_AIO_SUPPORT > > > zstd: [ on ] # HAVE_ZSTD_SUPPORT > > > libpfm4: [ OFF ] # HAVE_LIBPFM > > > > > > $ grep libperl ../make-log_perf-python3.10-install_bin.txt > > > 9:Makefile.config:788: Missing perl devel files. Disabling perl > > > scripting support, please install perl-ExtUtils-Embed/libperl-dev > > > 22:... libperl: [ OFF ] > > > > > > Checking for these requirements: > > > > > > # dpkg -l | grep perl | grep 5.34 | awk '/^ii/ {print $1 " " $2 " " > > > $3}' | column -t > > > ii libperl-dev:amd64 5.34.0-3 > > > ii libperl5.34:amd64 5.34.0-3 > > > ii perl 5.34.0-3 > > > ii perl-base 5.34.0-3 > > > ii perl-modules-5.34 5.34.0-3 > > > > > > # dpkg -L perl-modules-5.34 | grep -i ExtUtils | grep -i Embed > > > /usr/share/perl/5.34.0/ExtUtils/Embed.pm > > > > > > Can you please comment on this? > > > > hi, > > is there something in tools/build/feature/test-libperl.make.output ? > > > > Hey jirka! > > Indeed there is such a file. > > $ LC_ALL=C ll tools/build/feature/test-libperl.make.output > -rw-r--r-- 1 dileks dileks 24K Mar 6 03:22 > tools/build/feature/test-libperl.make.output > > Reproducer: > > make distclean > make -C tools/perf clean > > MAKE="make" > MAKE_OPTS="HOSTCC=clang-13 HOSTCXX=clang++-13 HOSTLD=ld.lld-13 > HOSTAR=llvm-ar-13 CC=clang-13 LD=ld.lld-13 AR=llvm-ar-13 NM=llvm-nm-13 > OBJCOPY=llvm-objcopy-13 OBJDUMP=llvm-objdump-13 OBJSIZE=llvm-size-13 > READELF=llvm-readelf-13 STRIP=llvm-strip-13 LLVM_IAS=1" > > LC_ALL=C $MAKE V=1 $MAKE_OPTS -C tools/perf PYTHON=python3 install-bin yea, looks like we can't compile perl devel includes with clang, we use simple perl test program: $ cd tools/build/feature/ $ cat test-libperl.c // SPDX-License-Identifier: GPL-2.0 #include <EXTERN.h> #include <perl.h> int main(void) { perl_alloc(); return 0; } and if I compile it with: $ CC=clang make test-libperl.bin clang -MD -Wall -Werror -o test-libperl.bin test-libperl.c > test-libperl.make.output 2>&1 `perl -MExtUtils::Embed -e ccopts 2>/dev/null` -Wl,--enable-new-dtags -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fstack-protector-strong -L/usr/local/lib -L/usr/lib64/perl5/CORE -lperl -lpthread -lresolv -ldl -lm -lcrypt -lutil -lc make: *** [Makefile:224: test-libperl.bin] Error 1 I'm getting some other lto related error: $ cat test-libperl.make.output clang-13: error: optimization flag '-ffat-lto-objects' is not supported [-Werror,-Wignored-optimization-argument] with my clang version: $ clang --version clang version 13.0.0 (Fedora 13.0.0-3.fc35) Target: x86_64-redhat-linux-gnu Thread model: posix InstalledDir: /usr/bin so you need to figure out how to compile the test program above first with clang jirka ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Linux-v5.17-rc6] Building tools/perf with perl v5.34 2022-03-06 15:42 ` Jiri Olsa @ 2022-03-06 16:00 ` Sedat Dilek 2022-03-07 16:35 ` Arnaldo Carvalho de Melo 0 siblings, 1 reply; 10+ messages in thread From: Sedat Dilek @ 2022-03-06 16:00 UTC (permalink / raw) To: Jiri Olsa Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim, linux-perf-users, linux-kernel On Sun, Mar 6, 2022 at 4:42 PM Jiri Olsa <olsajiri@gmail.com> wrote: > > On Sun, Mar 06, 2022 at 03:28:09AM +0100, Sedat Dilek wrote: > > On Sat, Mar 5, 2022 at 9:09 PM Jiri Olsa <olsajiri@gmail.com> wrote: > > > > > > On Sat, Mar 05, 2022 at 08:52:18AM +0100, Sedat Dilek wrote: > > > > Hi, > > > > > > > > I am here on Debian/unstable AMD64 which switched over to perl v5.34 > > > > in February 2022. > > > > > > > > Unfortunately, my perf does not build with this (lib)perl version: > > > > > > > > $ ~/bin/perf -vv > > > > perf version 5.17-rc6 > > > > dwarf: [ on ] # HAVE_DWARF_SUPPORT > > > > dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT > > > > glibc: [ on ] # HAVE_GLIBC_SUPPORT > > > > syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT > > > > libbfd: [ on ] # HAVE_LIBBFD_SUPPORT > > > > libelf: [ on ] # HAVE_LIBELF_SUPPORT > > > > libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT > > > > numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT > > > > libperl: [ OFF ] # HAVE_LIBPERL_SUPPORT > > > > libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT > > > > libslang: [ on ] # HAVE_SLANG_SUPPORT > > > > libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT > > > > libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT > > > > libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT > > > > zlib: [ on ] # HAVE_ZLIB_SUPPORT > > > > lzma: [ on ] # HAVE_LZMA_SUPPORT > > > > get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT > > > > bpf: [ on ] # HAVE_LIBBPF_SUPPORT > > > > aio: [ on ] # HAVE_AIO_SUPPORT > > > > zstd: [ on ] # HAVE_ZSTD_SUPPORT > > > > libpfm4: [ OFF ] # HAVE_LIBPFM > > > > > > > > $ grep libperl ../make-log_perf-python3.10-install_bin.txt > > > > 9:Makefile.config:788: Missing perl devel files. Disabling perl > > > > scripting support, please install perl-ExtUtils-Embed/libperl-dev > > > > 22:... libperl: [ OFF ] > > > > > > > > Checking for these requirements: > > > > > > > > # dpkg -l | grep perl | grep 5.34 | awk '/^ii/ {print $1 " " $2 " " > > > > $3}' | column -t > > > > ii libperl-dev:amd64 5.34.0-3 > > > > ii libperl5.34:amd64 5.34.0-3 > > > > ii perl 5.34.0-3 > > > > ii perl-base 5.34.0-3 > > > > ii perl-modules-5.34 5.34.0-3 > > > > > > > > # dpkg -L perl-modules-5.34 | grep -i ExtUtils | grep -i Embed > > > > /usr/share/perl/5.34.0/ExtUtils/Embed.pm > > > > > > > > Can you please comment on this? > > > > > > hi, > > > is there something in tools/build/feature/test-libperl.make.output ? > > > > > > > Hey jirka! > > > > Indeed there is such a file. > > > > $ LC_ALL=C ll tools/build/feature/test-libperl.make.output > > -rw-r--r-- 1 dileks dileks 24K Mar 6 03:22 > > tools/build/feature/test-libperl.make.output > > > > Reproducer: > > > > make distclean > > make -C tools/perf clean > > > > MAKE="make" > > MAKE_OPTS="HOSTCC=clang-13 HOSTCXX=clang++-13 HOSTLD=ld.lld-13 > > HOSTAR=llvm-ar-13 CC=clang-13 LD=ld.lld-13 AR=llvm-ar-13 NM=llvm-nm-13 > > OBJCOPY=llvm-objcopy-13 OBJDUMP=llvm-objdump-13 OBJSIZE=llvm-size-13 > > READELF=llvm-readelf-13 STRIP=llvm-strip-13 LLVM_IAS=1" > > > > LC_ALL=C $MAKE V=1 $MAKE_OPTS -C tools/perf PYTHON=python3 install-bin > > yea, looks like we can't compile perl devel includes with clang, > we use simple perl test program: > > $ cd tools/build/feature/ > $ cat test-libperl.c > // SPDX-License-Identifier: GPL-2.0 > #include <EXTERN.h> > #include <perl.h> > > int main(void) > { > perl_alloc(); > > return 0; > } > > > and if I compile it with: > > $ CC=clang make test-libperl.bin > clang -MD -Wall -Werror -o test-libperl.bin test-libperl.c > test-libperl.make.output 2>&1 `perl -MExtUtils::Embed -e ccopts 2>/dev/null` -Wl,--enable-new-dtags -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fstack-protector-strong -L/usr/local/lib -L/usr/lib64/perl5/CORE -lperl -lpthread -lresolv -ldl -lm -lcrypt -lutil -lc > make: *** [Makefile:224: test-libperl.bin] Error 1 > > > I'm getting some other lto related error: > > $ cat test-libperl.make.output > clang-13: error: optimization flag '-ffat-lto-objects' is not supported [-Werror,-Wignored-optimization-argument] > Hehe. I was thinking about syncing the flags for both feature test-perl and perf/libperl-support. tools/build/feature/Makefile tools/perf/Makefile.config So, I guess FLAGS_PERL_EMBED differs. For building perf '-ffat-lto-objects' is filtered-out... $ git grep ffat-lto-objects tools/perf/ tools/perf/Makefile.config: PERL_EMBED_CCOPTS := $(filter-out -flto=auto -ffat-lto-objects, $(PERL_EMBED_CCOPTS)) - Sedat - > > with my clang version: > > $ clang --version > clang version 13.0.0 (Fedora 13.0.0-3.fc35) > Target: x86_64-redhat-linux-gnu > Thread model: posix > InstalledDir: /usr/bin > > so you need to figure out how to compile the test program > above first with clang > > jirka ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Linux-v5.17-rc6] Building tools/perf with perl v5.34 2022-03-06 16:00 ` Sedat Dilek @ 2022-03-07 16:35 ` Arnaldo Carvalho de Melo 0 siblings, 0 replies; 10+ messages in thread From: Arnaldo Carvalho de Melo @ 2022-03-07 16:35 UTC (permalink / raw) To: Sedat Dilek Cc: Jiri Olsa, Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim, linux-perf-users, linux-kernel Em Sun, Mar 06, 2022 at 05:00:22PM +0100, Sedat Dilek escreveu: > On Sun, Mar 6, 2022 at 4:42 PM Jiri Olsa <olsajiri@gmail.com> wrote: > > I'm getting some other lto related error: > > > > $ cat test-libperl.make.output > > clang-13: error: optimization flag '-ffat-lto-objects' is not supported [-Werror,-Wignored-optimization-argument] > > > I was thinking about syncing the flags for both feature test-perl and > perf/libperl-support. > tools/build/feature/Makefile > tools/perf/Makefile.config > So, I guess FLAGS_PERL_EMBED differs. > For building perf '-ffat-lto-objects' is filtered-out... > $ git grep ffat-lto-objects tools/perf/ > tools/perf/Makefile.config: PERL_EMBED_CCOPTS := $(filter-out > -flto=auto -ffat-lto-objects, $(PERL_EMBED_CCOPTS)) Right, with the patch below I can build with clang 13. It would be nice to have this defined into just one place, but for now, for 5.17 the minimal fix is preferred, can you send a proper patch, s-o-b, etc? - Arnaldo diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile index 1480910c792e2cb3..869073cf84493083 100644 --- a/tools/build/feature/Makefile +++ b/tools/build/feature/Makefile @@ -218,6 +218,7 @@ PERL_EMBED_LDOPTS = $(shell perl -MExtUtils::Embed -e ldopts 2>/dev/null) PERL_EMBED_LDFLAGS = $(call strip-libs,$(PERL_EMBED_LDOPTS)) PERL_EMBED_LIBADD = $(call grep-libs,$(PERL_EMBED_LDOPTS)) PERL_EMBED_CCOPTS = `perl -MExtUtils::Embed -e ccopts 2>/dev/null` +PERL_EMBED_CCOPTS := $(filter-out -ffat-lto-objects, $(PERL_EMBED_CCOPTS)) FLAGS_PERL_EMBED=$(PERL_EMBED_CCOPTS) $(PERL_EMBED_LDOPTS) $(OUTPUT)test-libperl.bin: ^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-03-07 16:36 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-03-05 7:52 [Linux-v5.17-rc6] Building tools/perf with perl v5.34 Sedat Dilek 2022-03-05 7:57 ` Sedat Dilek 2022-03-05 8:26 ` Sedat Dilek 2022-03-05 11:11 ` Sedat Dilek 2022-03-05 20:09 ` Jiri Olsa 2022-03-06 2:28 ` Sedat Dilek 2022-03-06 3:18 ` Sedat Dilek 2022-03-06 15:42 ` Jiri Olsa 2022-03-06 16:00 ` Sedat Dilek 2022-03-07 16:35 ` Arnaldo Carvalho de Melo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox