Install zstd in dist builder image.

Build libzstd from source because the EPEL package is built without fPIC.
This commit is contained in:
Kyle Huey 2024-07-28 18:36:05 +00:00
parent 7bb345e677
commit 8db318cc96
2 changed files with 33 additions and 0 deletions

View File

@ -62,6 +62,10 @@ COPY host-x86_64/dist-x86_64-linux/build-clang.sh /tmp/
RUN ./build-clang.sh
ENV CC=clang CXX=clang++
# rustc's LLVM needs zstd.
COPY scripts/zstd.sh /tmp/
RUN ./zstd.sh
COPY scripts/sccache.sh /scripts/
RUN sh /scripts/sccache.sh

29
src/ci/docker/scripts/zstd.sh Executable file
View File

@ -0,0 +1,29 @@
#!/bin/bash
set -ex
hide_output() {
set +x
on_err="
echo ERROR: An error was encountered with the build.
cat /tmp/zstd_build.log
exit 1
"
trap "$on_err" ERR
bash -c "while true; do sleep 30; echo \$(date) - building ...; done" &
PING_LOOP_PID=$!
"$@" &> /tmp/zstd_build.log
trap - ERR
kill $PING_LOOP_PID
rm /tmp/zstd_build.log
set -x
}
ZSTD=1.5.6
curl -L https://github.com/facebook/zstd/releases/download/v$ZSTD/zstd-$ZSTD.tar.gz | tar xzf -
cd zstd-$ZSTD
CFLAGS=-fPIC hide_output make -j$(nproc) VERBOSE=1
hide_output make install
cd ..
rm -rf zstd-$ZSTD