16 Commits
Author SHA1 Message Date
Julian Oes 6a3933b03b Add manylinux_2_34 includes to DOCKER_COMPOSITE_SOURCES
The common.manylinux_2_34 and common-manylinux_2_34.crosstool includes
were missing from the Makefile, so the sed preprocessor never expanded
them when generating Dockerfiles from .in files. This caused XCC_PREFIX
to be undefined in the aarch64 Dockerfile.
2026-04-10 09:32:09 +12:00
Julian Oes 7264bf7768 Build git without gettext to avoid missing msgfmt
The pypa manylinux_2_34 base image does not provide the msgfmt binary,
causing the git source build to fail. Git translations are not needed
in a build container.
2026-04-10 09:32:01 +12:00
Julian Oes ad3c0cad8c manylinux_2_34: fix libstdc++ ABI mismatch by isolating host headers
Using -I/usr/include during the crosstool-ng build of libstdc++ pulled
in host x86_64 headers where int64_t is long long, contaminating the
aarch64 cross-build where int64_t should be long. This caused linker
errors for std::__atomic_futex_unsigned_base symbols due to mismatched
C++ name mangling between headers and the built library.

Copy only the required sys/sdt.h headers into /opt/ct-ng-includes and
point CT_CC_GCC_ENABLE_CXX_FLAGS there instead, matching the approach
used by manylinux_2_28-aarch64.
2026-04-09 03:22:00 +12:00
Julian Oes 84419c14a5 manylinux_2_34: add another perl dependency for OpenSSL build 2026-04-09 03:21:59 +12:00
Julian Oes 8c8f0f6fa6 manylinux_2_34: add missing tools for OpenSSL test build 2026-04-09 03:21:58 +12:00
Julian Oes 4fb4c4e401 Remove copy_libstd.sh workaround from manylinux_2_34-aarch64
The libstdc++ copy trick is no longer needed, as noted in PR #931
which removed it for manylinux2014-aarch64.
2026-04-09 03:21:57 +12:00
Julian Oes 9c32f366f9 Fix CMAKE_CROSSCOMPILING_EMULATOR path to use qemu-aarch64-static
AlmaLinux 9 doesn't package qemu-user-static, so the Dockerfile
downloads the static binary as /usr/bin/qemu-aarch64-static.
The Toolchain.cmake was incorrectly referencing /usr/bin/qemu-aarch64.
2026-04-09 03:21:56 +12:00
Julian Oes 2b735bef0e Fix typos in Dockerfile.in and prepare_cross_env.sh 2026-04-09 03:21:55 +12:00
Julian Oes 324d42a107 Fix typo: rename docker_setup_scrpits to docker_setup_scripts 2026-04-09 03:21:54 +12:00
Julian Oes 3348cdba6d Revert CMAKE_FIND_ROOT_PATH_MODE_* to match other variants
Remove CACHE STRING "" from CMAKE_FIND_ROOT_PATH_MODE_PROGRAM,
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY, and CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
to be consistent with all other cross-compilation toolchain files.
2026-04-09 03:21:53 +12:00
Julian Oes fc73010e35 Readme: Add manylinux_2_28-aarch64 2026-04-07 09:50:52 +12:00
Julian Oes 7679060f71 manylinux_2_28: add perl dependency for OpenSSL build 2026-04-04 11:32:15 +13:00
Julian Oes c3389c3671 CI: add manylinux_2_28 build 2026-04-04 11:32:02 +13:00
Julian Oes f15327adbd Add perl-IPC-Cmd package for OpenSSL build support
AlmaLinux 8 splits perl-IPC-Cmd into a separate package, which is
needed by OpenSSL's Configure script.
2026-04-03 14:32:20 +13:00
Julian Oes 003dfa0517 Remove copy_libstd.sh workaround from manylinux_2_28-aarch64
The libstdc++ copy trick is no longer needed, as noted in PR #931
which removed it for manylinux2014-aarch64.
2026-04-03 14:28:11 +13:00
Julian Oes 7633bc2b5e Add manylinux_2_28-aarch64 image and fix qemu path in 2_34 variant
Add a new manylinux_2_28-aarch64 cross-compilation image targeting
AlmaLinux 8 (glibc 2.28) for building portable Python wheels for
aarch64 from x86_64 hosts. Based on the manylinux_2_34-aarch64
variant with adjusted glibc (2.28) and kernel headers (4.18).

Also fix CMAKE_CROSSCOMPILING_EMULATOR in the 2_34 Toolchain.cmake
to use /usr/bin/qemu-aarch64-static (matching what the Dockerfile
actually installs).
2026-04-03 14:28:10 +13:00