From 2b7a8875c0ebda4957b014b74a3709f26b30f1e7 Mon Sep 17 00:00:00 2001 From: Niklas Gruhn Date: Mon, 11 Sep 2023 01:40:05 +0200 Subject: [PATCH] fix Docker image The Docker image is broken with the error message: scryer-prolog: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory We use the base base image `debian:stable-slim` and in the background a new Debian version was marked stable (bookworm), which has libssl3 instead of libssl1.1 installed. I downgraded the base image to the previous stable version (bullseye), which seems to fix the issue. --- Dockerfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0c1195ac8..9aaac9c01 100755 --- a/Dockerfile +++ b/Dockerfile @@ -20,7 +20,12 @@ COPY --from=cacher /scryer-prolog/target target COPY --from=cacher $CARGO_HOME $CARGO_HOME RUN cargo build --release --bin scryer-prolog -FROM debian:stable-slim +# Newer versions of Debian (i.e. bookworm) contain libssl3 instead of libssl1.1 +# which we depend on. +FROM debian:bullseye-slim COPY --from=builder /scryer-prolog/target/release/scryer-prolog /usr/local/bin ENV RUST_BACKTRACE=1 +# Sanity check the binary: if it can't be executed (e.g. if there are missing libraries) +# then fail the build +RUN scryer-prolog --version ENTRYPOINT ["/usr/local/bin/scryer-prolog"]