Hi, On Wed, 14 Jun 2023 16:40:54 +0200 Helmut Grohne <hel...@subdivi.de> wrote: > linux fails to cross build from source again. It seems like the perf build > gained a python extension and that extension happens to be built for the > build architecture, which doesn't go well. Please export the magic python > cross building environment variable to make this work. I'm attaching a patch > for your convenience.
I put Helmut's patch as a MR on salsa: https://salsa.debian.org/kernel-team/linux/-/merge_requests/866/diffs I stumbled across this, because after the recent python3.11 upload, the cross-build not just builds something wrong but straight-up fails with: LDSHARED="aarch64-linux-gnu-gcc -pthread -shared" \ CFLAGS='-g -O2 -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -I/<<PKGBUILDDIR>>/tools/perf -I/<<PKGBUILDDIR>>/debian/build/build-tools/tools/perf -isystem /<<PKGBUILDDIR>>/debian/build/build-tools/include -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security -Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes -Wno-system-headers -Wold-style-definition -Wpacked -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wwrite-strings -Wformat -Wno-type-limits -Wstrict-aliasing=3 -Wshadow -DHAVE_SYSCALL_TABLE_SUPPORT -I/<<PKGBUILDDIR>>/debian/build/build-tools/tools/perf/arch/arm64/include/generated -DHAVE_PERF_REGS_SUPPORT -DHAVE_ARCH_REGS_QUERY_REGISTER_OFFSET -DNDEBUG=1 -O6 -fno-omit-frame-pointer -ggdb3 -funwind-tables -Wall -Wextra -std=gnu11 -fstack-protector-all -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -I/<<PKGBUILDDIR>>/tools/perf/util/include -I/<<PKGBUILDDIR>>/tools/perf/arch/arm64/include -I/<<PKGBUILDDIR>>/tools/include/ -I/<<PKGBUILDDIR>>/tools/arch/arm64/include/uapi -I/<<PKGBUILDDIR>>/tools/include/uapi -I/<<PKGBUILDDIR>>/tools/arch/arm64/include/ -I/<<PKGBUILDDIR>>/tools/arch/arm64/ -I/<<PKGBUILDDIR>>/debian/build/build-tools/tools/perf//util -I/<<PKGBUILDDIR>>/debian/build/build-tools/tools/perf/ -I/<<PKGBUILDDIR>>/tools/perf/util -I/<<PKGBUILDDIR>>/tools/perf -DHAVE_PTHREAD_ATTR_SETAFFINITY_NP -DHAVE_PTHREAD_BARRIER -DHAVE_EVENTFD_SUPPORT -DHAVE_GET_CURRENT_DIR_NAME -DHAVE_GETTID -DHAVE_FILE_HANDLE -DHAVE_DWARF_GETLOCATIONS_SUPPORT -DHAVE_AIO_SUPPORT -DHAVE_SCANDIRAT_SUPPORT -DHAVE_SCHED_GETCPU_SUPPORT -DHAVE_SETNS_SUPPORT -DHAVE_CSTRACE_SUPPORT -DHAVE_LIBELF_SUPPORT -DHAVE_ELF_GETPHDRNUM_SUPPORT -DHAVE_GELF_GETNOTE_SUPPORT -DHAVE_ELF_GETSHDRSTRNDX_SUPPORT -DHAVE_DWARF_SUPPORT -DHAVE_LIBBPF_SUPPORT -DHAVE_BPF_PROLOGUE -DHAVE_JITDUMP -DHAVE_LIBUNWIND_AARCH64_SUPPORT -DHAVE_DWARF_UNWIND_SUPPORT -DHAVE_LIBUNWIND_SUPPORT -DHAVE_SLANG_SUPPORT -DHAVE_LIBPERL_SUPPORT -DHAVE_TIMERFD_SUPPORT -DHAVE_LIBPYTHON_SUPPORT -DHAVE_CXA_DEMANGLE_SUPPORT -DHAVE_ZLIB_SUPPORT -DHAVE_LZMA_SUPPORT -DHAVE_ZSTD_SUPPORT -DHAVE_LIBCAP_SUPPORT -DHAVE_BACKTRACE_SUPPORT -DHAVE_LIBNUMA_SUPPORT -DHAVE_KVM_STAT_SUPPORT -DHAVE_LIBBABELTRACE_SUPPORT -DHAVE_AUXTRACE_SUPPORT -DHAVE_LIBTRACEEVENT -DLIBTRACEEVENT_VERSION=66813 -DLIBTRACEFS_VERSION=66810 -I/<<PKGBUILDDIR>>/debian/build/build-tools/tools/perf/libapi/include -I/<<PKGBUILDDIR>>/debian/build/build-tools/tools/perf/libbpf/include -I/<<PKGBUILDDIR>>/debian/build/build-tools/tools/perf/libsubcmd/include -I/<<PKGBUILDDIR>>/debian/build/build-tools/tools/perf/libsymbol/include -I/<<PKGBUILDDIR>>/debian/build/build-tools/tools/perf/libperf/include -I/<<PKGBUILDDIR>>/debian/build/build-tools/tools/perf/' LDFLAGS='-Wl,-z,relro' \ '/usr/bin/python3' util/setup.py \ --quiet build_ext; \ cc1: error: ‘-fcf-protection=full’ is not supported for this target error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1 The reason is likely, that python3.11 was now rebuilt with a dpkg version exposing the new build flags which get captured at build time into sysconfigdata and make the build fail because flags that only work with amd64 gcc get used with arm64 gcc. Since Diederik de Haas is already looking into the MR, this email is more a memo for myself so that I find this issue later on in my email inbox. :) Thanks! cheers, josch
signature.asc
Description: signature