From b18786cf24f0d350093e5c0d3f8003f71d97b5c3 Mon Sep 17 00:00:00 2001 From: Dustin Spicuzza Date: Tue, 15 Oct 2024 23:50:20 -0400 Subject: [PATCH] Fix Python 3.13 on raspbian --- cross-ubuntu-py/Dockerfile.py313 | 10 ++++++++-- cross-ubuntu-py/py.mk | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/cross-ubuntu-py/Dockerfile.py313 b/cross-ubuntu-py/Dockerfile.py313 index 5f98163..27d01d3 100644 --- a/cross-ubuntu-py/Dockerfile.py313 +++ b/cross-ubuntu-py/Dockerfile.py313 @@ -7,9 +7,11 @@ FROM wpilib/${ARCH}-cross-ubuntu-minimal:${VERSION}-${UBUNTU} AS pycompile ARG TARGET_HOST=invalid-target-host ARG AC_TARGET_HOST=invalid-ac-target-host +ARG EXTRA_CROSS_CONFIGURE_ARGS= ENV TARGET_HOST=${TARGET_HOST} ENV AC_TARGET_HOST=${AC_TARGET_HOST} +ENV EXTRA_CROSS_CONFIGURE_ARGS=${EXTRA_CROSS_CONFIGURE_ARGS} ENV BUILD_HOST="x86_64" ENV WORKING_DIRECTORY="/build" ENV INSTALL_DIRECTORY="/build/crosspy" @@ -57,7 +59,10 @@ RUN set -xe; \ RUN set -xe; \ # cross-compile - cd $WORKING_DIRECTORY;cd $SOURCE_DIRECTORY; make distclean; \ + cd $WORKING_DIRECTORY; \ + rm -rf $SOURCE_DIRECTORY; \ + tar -xf $PYTHON_ARCHIVE; \ + cd $SOURCE_DIRECTORY; \ ./configure --host=$TARGET_HOST --build=$BUILD_HOST --prefix=$PREFIX \ --with-build-python=$(which $PYTHON_EXE) \ --disable-ipv6 \ @@ -65,7 +70,8 @@ RUN set -xe; \ ac_cv_buggy_getaddrinfo=no \ ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no \ ac_cv_have_long_long_format=yes \ - ac_cv_pthread_is_default=no ac_cv_pthread=yes ac_cv_cxx_thread=yes; \ + ac_cv_pthread_is_default=no ac_cv_pthread=yes ac_cv_cxx_thread=yes \ + ${EXTRA_CROSS_CONFIGURE_ARGS}; \ make -j; \ # make install here is fine because we include --prefix in the configure statement make install diff --git a/cross-ubuntu-py/py.mk b/cross-ubuntu-py/py.mk index 76fc17e..dad75cb 100644 --- a/cross-ubuntu-py/py.mk +++ b/cross-ubuntu-py/py.mk @@ -204,6 +204,7 @@ build/cross-raspbian-py313: --build-arg TARGET_HOST=$(TARGET_HOST_RASPBIAN) \ --build-arg AC_TARGET_HOST=$(AC_TARGET_HOST_RASPBIAN) \ --build-arg VERSION=$(VERSION_RASPBIAN) \ + --build-arg EXTRA_CROSS_CONFIGURE_ARGS="ac_cv_libatomic_needed=yes" \ -f Dockerfile.py313 .PHONY: push/cross-raspbian-py313