#!/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 # It doesn't seem to be possible to move destination directory # of the `make install` above. We thus copy the built artifacts # manually to our custom rustroot, so that it can be found through # LD_LIBRARY_PATH. cp /usr/local/lib/libzstd* /rustroot/lib64 cd .. rm -rf zstd-$ZSTD