diff --git a/docker/ci/dockerfiles/current/build.al2.opensearch.x64.arm64.dockerfile b/docker/ci/dockerfiles/current/build.al2.opensearch.x64.arm64.dockerfile index c9dd94704c..448df16661 100644 --- a/docker/ci/dockerfiles/current/build.al2.opensearch.x64.arm64.dockerfile +++ b/docker/ci/dockerfiles/current/build.al2.opensearch.x64.arm64.dockerfile @@ -76,11 +76,21 @@ ENV GEM_HOME=$CONTAINER_USER_HOME/.gem ENV GEM_PATH=$GEM_HOME ENV PATH=$RUBY_HOME:$RVM_HOME:$PATH +# Installing openssl1.1.1 +# Support requests >= 2.28.1 version +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/local/lib64:/usr/lib +RUN yum install -y curl libcurl-devel libfaketime perl-core pcre-devel && yum remove -y openssl-devel && yum clean all && \ + mkdir -p /tmp/openssl && cd /tmp/openssl && \ + curl -sSL -o- https://www.openssl.org/source/openssl-1.1.1g.tar.gz | tar -xz --strip-components 1 && \ + ./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib shared zlib-dynamic && make && make install && \ + echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/local/lib64:/usr/lib" > /etc/profile.d/openssl.sh && openssl version + # Install Python binary RUN curl https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz | tar xzvf - && \ cd Python-3.9.7 && \ - ./configure --enable-optimizations && \ - make altinstall + env LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/local/lib64:/usr/lib ./configure --enable-optimizations --with-openssl=/usr --prefix=/usr/local && \ + make altinstall && \ + cp -v /etc/ssl/certs/ca-bundle.crt /etc/ssl/cert.pem # Setup Python links RUN ln -sfn /usr/local/bin/python3.9 /usr/bin/python3 && \ @@ -114,6 +124,14 @@ RUN git clone -b v0.3.27 --single-branch https://github.com/xianyi/OpenBLAS.git ENV LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" RUN pip3 install cmake==3.26.4 +# NodeJS Unofficial Builds +ARG NODE_VERSION_LIST="18.19.0 20.10.0" +# https://github.com/actions/runner/issues/2906#issuecomment-2109514798 +# GitHub enforce nodejs 20 official build in runner 2.317.0 of their actions and CentOS7/AL2 would fail due to having older glibc versions +# Until https://github.com/actions/runner/pull/3128 is merged or AL2 is deprecated (2025/06) this is a quick fix with unofficial builds support glibc 2.17 +# Only linux x64 is supported until https://github.com/nodejs/unofficial-builds/pull/91 is merged +RUN if [ `uname -m` = "x86_64" ]; then cd / && for node_version in $NODE_VERSION_LIST; do curl -SLO https://unofficial-builds.nodejs.org/download/release/v$node_version/node-v$node_version-linux-x64-glibc-217.tar.xz; done; fi + # Change User USER $CONTAINER_USER WORKDIR $CONTAINER_USER_HOME