diff --git a/contrib/Dockerfile_bullseye b/contrib/Dockerfile_bullseye index dcba5bf70..4d27dcfa4 100644 --- a/contrib/Dockerfile_bullseye +++ b/contrib/Dockerfile_bullseye @@ -7,6 +7,7 @@ FROM debian:bullseye@sha256:71cb300d5448af821aedfe63afd55ba05f45a6a79f00dcd131b9 WORKDIR /root COPY bullseye_deps.sh ./deps.sh COPY requirements.txt ./contrib/requirements.txt +ARG TARGETARCH +ENV TARGETARCH=${TARGETARCH} RUN ./deps.sh && rm ./deps.sh -ENV JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 ENV ANDROID_NDK=/opt/android-ndk-r26b diff --git a/contrib/bullseye_deps.sh b/contrib/bullseye_deps.sh index e0d4a830a..4f0c85928 100755 --- a/contrib/bullseye_deps.sh +++ b/contrib/bullseye_deps.sh @@ -37,7 +37,8 @@ fi apt install --no-install-recommends unzip autoconf automake autotools-dev pkg-config build-essential libtool python3{,-dev,-pip,-virtualenv} python{,-dev}-is-python3 clang{,-format,-tidy} git swig curl cmake libssl-dev libtool-bin $java_packages curl $windows_packages valgrind jq -yqq if [ -z "$skip_java" ]; then - update-java-alternatives -s java-1.11.0-openjdk-amd64 + update-java-alternatives -s java-1.11.0-openjdk-${TARGETARCH} + export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-${TARGETARCH} fi pip3 install valgrind-codequality -r contrib/requirements.txt @@ -58,8 +59,15 @@ if [ -z "$skip_emsdk" ]; then # Install emsdk git clone https://github.com/emscripten-core/emsdk cd emsdk - ./emsdk install 3.1.52 - ./emsdk activate 3.1.52 + if [ "${TARGETARCH}" = "arm64" ]; then + # very few versions of emsdk are available for linux-arm64 + # https://github.com/emscripten-core/emsdk/issues/547 + ./emsdk install 3.1.33 + ./emsdk activate 3.1.33 + else + ./emsdk install 3.1.52 + ./emsdk activate 3.1.52 + fi # Force emsdk to use the installed node version instead of its own sed -i "s/^NODE_JS = .*$/NODE_JS = 'node'/g" /opt/emsdk/.emscripten # Make emsdk commands available