From 59828e6ffa7bae5025e4c579a5e3fd5bc0db353c Mon Sep 17 00:00:00 2001 From: Thibault Charbonnier Date: Thu, 26 Oct 2023 18:21:02 -0700 Subject: [PATCH] chore(release) install Python 3.8+ in older distributions Fixing V8 build issues, see NVIDIA/DeepLearningExamples#1016 Fixes #430 --- assets/release/Dockerfiles/Dockerfile.amd64.centos7 | 6 ++++++ assets/release/Dockerfiles/Dockerfile.amd64.centos8 | 2 +- .../Dockerfiles/Dockerfile.amd64.ubuntu-18.04 | 7 +++++++ util/release.sh | 13 +++++++++++++ 4 files changed, 27 insertions(+), 1 deletion(-) diff --git a/assets/release/Dockerfiles/Dockerfile.amd64.centos7 b/assets/release/Dockerfiles/Dockerfile.amd64.centos7 index 62ea24da4..160ecb0e7 100644 --- a/assets/release/Dockerfiles/Dockerfile.amd64.centos7 +++ b/assets/release/Dockerfiles/Dockerfile.amd64.centos7 @@ -20,6 +20,12 @@ RUN yum install -y epel-release && \ perl-IPC-Cmd \ perl-Test-Simple +# Install Python 3.8+ (required by V8's GN build system) +RUN yum -y install centos-release-scl-rh centos-release-scl && \ + yum --enablerepo=centos-sclo-rh -y install rh-python38 && \ + echo 'source /opt/rh/rh-python38/enable; export X_SCLS="`scl enable rh-python38 'echo $X_SCLS'`"' >> /etc/profile.d/python38.sh && \ + echo 'source /opt/rh/rh-python38/enable; export X_SCLS="`scl enable rh-python38 'echo $X_SCLS'`"' >> ~/.bashrc + ENV RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo ENV PATH $CARGO_HOME/bin:$PATH RUN ln -nfs $(which cmake3) /usr/bin/cmake diff --git a/assets/release/Dockerfiles/Dockerfile.amd64.centos8 b/assets/release/Dockerfiles/Dockerfile.amd64.centos8 index 7ecb451e8..9f374b4dc 100644 --- a/assets/release/Dockerfiles/Dockerfile.amd64.centos8 +++ b/assets/release/Dockerfiles/Dockerfile.amd64.centos8 @@ -13,7 +13,7 @@ RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-* && \ libstdc++-devel \ libatomic \ perl \ - python3 \ + python39 \ git \ glib2-devel diff --git a/assets/release/Dockerfiles/Dockerfile.amd64.ubuntu-18.04 b/assets/release/Dockerfiles/Dockerfile.amd64.ubuntu-18.04 index bfe8bb2f7..194d2498d 100644 --- a/assets/release/Dockerfiles/Dockerfile.amd64.ubuntu-18.04 +++ b/assets/release/Dockerfiles/Dockerfile.amd64.ubuntu-18.04 @@ -26,6 +26,13 @@ RUN apt-get install -y --no-install-recommends \ pip3 install scikit-build && \ pip3 install cmake +# Install Python 3.8+ (required by V8's GN build system) +RUN apt-get install -y software-properties-common && \ + add-apt-repository -y ppa:deadsnakes/ppa && \ + apt-get update && \ + apt-get install -y python3.8 && \ + echo 'alias python3="python3.8"' >> ~/.bashrc + ENV RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo ENV PATH $CARGO_HOME/bin:$PATH RUN mkdir -p "$CARGO_HOME" && mkdir -p "$RUSTUP_HOME" && \ diff --git a/util/release.sh b/util/release.sh index c0afabc23..59b9a870c 100755 --- a/util/release.sh +++ b/util/release.sh @@ -373,6 +373,19 @@ release_bin() { notice "Building $arch binary..." + notice "Debug" + ps -p $$ + if [ -x "$(command -v python)" ]; then + python -V + else + echo "no python" + fi + if [ -x "$(command -v python3)" ]; then + python3 -V + else + echo "no python3" + fi + if [ "$(get_distro)" = "centos7" ]; then notice "Enabling devtoolset-8 for CentOS..." source /opt/rh/devtoolset-8/enable