Skip to content

Commit c031fd5

Browse files
Copilotswilly22
andcommitted
Fix RHEL8 CI: build OpenSSL 3 from source instead of unavailable openssl3-devel package
Co-authored-by: swilly22 <2638748+swilly22@users.noreply.github.com> Agent-Logs-Url: https://github.com/FalkorDB/build-image/sessions/bbadc41a-60df-4ba5-85db-70d2dd98acb1
1 parent 254236f commit c031fd5

File tree

1 file changed

+26
-8
lines changed

1 file changed

+26
-8
lines changed

Dockerfile.rhel8

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,40 @@ FROM redhat/ubi8 as builder
33
# Install dependencies including gcc-toolset-14
44
RUN yum update -y && \
55
yum install -y wget autoconf automake python3.11 python3.11-pip \
6-
libtool git make openssl3-devel libstdc++-static diffutils gcc-toolset-14 cmake && \
6+
libtool git make perl-core zlib-devel libstdc++-static diffutils gcc-toolset-14 cmake && \
77
alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1 && \
88
alternatives --auto python3 && \
99
yum clean all
1010

11-
# Use OpenSSL 3 for builds
12-
ENV PKG_CONFIG_PATH="/usr/lib64/pkgconfig:${PKG_CONFIG_PATH}"
13-
ENV OPENSSL_ROOT_DIR="/usr"
14-
ENV OPENSSL_INCLUDE_DIR="/usr/include/openssl3"
15-
ENV OPENSSL_CRYPTO_LIBRARY="/usr/lib64/libcrypto.so.3"
16-
ENV OPENSSL_SSL_LIBRARY="/usr/lib64/libssl.so.3"
17-
1811
# Enable gcc-toolset-14
1912
ENV PATH="/opt/rh/gcc-toolset-14/root/usr/bin:${PATH}"
2013
ENV LD_LIBRARY_PATH="/opt/rh/gcc-toolset-14/root/usr/lib64:${LD_LIBRARY_PATH}"
2114

15+
# Build and install OpenSSL 3 from source (not available as a package in UBI8)
16+
ARG OPENSSL_VERSION=3.0.15
17+
ARG OPENSSL_SHA256=23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533
18+
RUN set -eux; \
19+
wget -O openssl.tar.gz "https://github.com/openssl/openssl/releases/download/openssl-${OPENSSL_VERSION}/openssl-${OPENSSL_VERSION}.tar.gz"; \
20+
echo "${OPENSSL_SHA256} openssl.tar.gz" | sha256sum -c -; \
21+
tar -xzf openssl.tar.gz; \
22+
cd "openssl-${OPENSSL_VERSION}"; \
23+
./Configure --prefix=/usr/local/openssl3 --openssldir=/usr/local/openssl3/ssl --libdir=lib64 shared zlib; \
24+
make -j$(nproc); \
25+
make install_sw install_ssldirs; \
26+
echo "/usr/local/openssl3/lib64" > /etc/ld.so.conf.d/openssl3.conf; \
27+
ldconfig; \
28+
cd ..; \
29+
rm -rf "openssl-${OPENSSL_VERSION}" openssl.tar.gz
30+
31+
# Set OpenSSL 3 environment variables for cmake and pkg-config discovery
32+
ENV OPENSSL_ROOT_DIR="/usr/local/openssl3"
33+
ENV OPENSSL_INCLUDE_DIR="/usr/local/openssl3/include"
34+
ENV OPENSSL_CRYPTO_LIBRARY="/usr/local/openssl3/lib64/libcrypto.so"
35+
ENV OPENSSL_SSL_LIBRARY="/usr/local/openssl3/lib64/libssl.so"
36+
ENV PKG_CONFIG_PATH="/usr/local/openssl3/lib64/pkgconfig:${PKG_CONFIG_PATH}"
37+
ENV PATH="/usr/local/openssl3/bin:${PATH}"
38+
ENV LD_LIBRARY_PATH="/usr/local/openssl3/lib64:${LD_LIBRARY_PATH}"
39+
2240
# Install Rust
2341
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
2442
ENV PATH="/root/.cargo/bin:${PATH}"

0 commit comments

Comments
 (0)