From 43823d605a2a9c9fdc5864ae48cce7b84a50e298 Mon Sep 17 00:00:00 2001 From: Matthias Volk Date: Tue, 18 Aug 2026 11:55:45 +0200 Subject: [PATCH 1/3] Bumped MathSAT, Soplex and Gurobi versions --- storm-dependencies/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/storm-dependencies/Dockerfile b/storm-dependencies/Dockerfile index 21fa2ad..2c8b736 100644 --- a/storm-dependencies/Dockerfile +++ b/storm-dependencies/Dockerfile @@ -19,10 +19,10 @@ LABEL org.opencontainers.image.authors="dev@stormchecker.org" ARG no_threads=2 # Specify library versions -ARG MATHSAT_VERSION=5.6.16 +ARG MATHSAT_VERSION=5.6.17 ARG SPOT_VERSION=2.15.1 -ARG SOPLEX_VERSION=8.0.2 -ARG GUROBI_VERSION=13.0.1 +ARG SOPLEX_VERSION=8.0.3 +ARG GUROBI_VERSION=13.0.2 ARG GUROBI_SHORT_VERSION=13.0 From 70dff97944d2733798b82efc72b91b48bceb00d9 Mon Sep 17 00:00:00 2001 From: Matthias Volk Date: Tue, 18 Aug 2026 12:03:24 +0200 Subject: [PATCH 2/3] Sort alphabetically --- doc/new_release.md | 4 +- storm-dependencies/Dockerfile | 70 ++++++++++++++++++----------------- 2 files changed, 38 insertions(+), 36 deletions(-) diff --git a/doc/new_release.md b/doc/new_release.md index b7de680..474737a 100644 --- a/doc/new_release.md +++ b/doc/new_release.md @@ -7,8 +7,8 @@ The following steps should be performed to update the Docker images. ## Create storm-dependencies * Update the versions of the dependencies used in `storm-dependencies/Dockerfile`: + * [Gurobi](https://github.com/Gurobi/docker-optimizer/tree/master) * [MathSAT](https://mathsat.fbk.eu/download.html) - * [Spot](https://spot.lre.epita.fr/install.html) * [Soplex](https://soplex.zib.de/) - * [Gurobi](https://github.com/Gurobi/docker-optimizer/tree/master) + * [Spot](https://spot.lre.epita.fr/install.html) * Trigger the action [Build base with dependencies](https://github.com/stormchecker/docker-storm/actions/workflows/dependencies.yml) in the CI to create Docker images for [storm-dependencies](https://hub.docker.com/r/stormchecker/storm-dependencies/). diff --git a/storm-dependencies/Dockerfile b/storm-dependencies/Dockerfile index 2c8b736..c81a156 100644 --- a/storm-dependencies/Dockerfile +++ b/storm-dependencies/Dockerfile @@ -19,11 +19,11 @@ LABEL org.opencontainers.image.authors="dev@stormchecker.org" ARG no_threads=2 # Specify library versions -ARG MATHSAT_VERSION=5.6.17 -ARG SPOT_VERSION=2.15.1 -ARG SOPLEX_VERSION=8.0.3 ARG GUROBI_VERSION=13.0.2 ARG GUROBI_SHORT_VERSION=13.0 +ARG MATHSAT_VERSION=5.6.17 +ARG SOPLEX_VERSION=8.0.3 +ARG SPOT_VERSION=2.15.1 # Install additional packages @@ -37,19 +37,25 @@ RUN apt-get -y update \ && update-ca-certificates -# Install Spot -############## -# Manual installation -WORKDIR /opt/ -RUN curl -L -o spot.tar.gz http://www.lrde.epita.fr/dload/spot/spot-${SPOT_VERSION}.tar.gz \ - && tar -xzf spot.tar.gz \ - && rm spot.tar.gz \ - && cd spot-${SPOT_VERSION} \ - && ./configure --disable-python \ - && make -j $no_threads \ - && make install -j $no_threads \ - && cd /opt \ - && rm -r spot-${SPOT_VERSION} +# Install Gurobi +################# +# From https://github.com/Gurobi/docker-optimizer/blob/master/12.0.2/Dockerfile +WORKDIR /opt +RUN if [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ + export GRB_PLATFORM="armlinux64"; \ + else \ + export GRB_PLATFORM="linux64"; \ + fi \ + && wget -v https://packages.gurobi.com/${GUROBI_SHORT_VERSION}/gurobi${GUROBI_VERSION}_$GRB_PLATFORM.tar.gz \ + && tar -xvf gurobi${GUROBI_VERSION}_$GRB_PLATFORM.tar.gz \ + && rm *.tar.gz \ + && mv -f gurobi* gurobi \ + && mv -f gurobi/$GRB_PLATFORM* gurobi/linux \ + && rm -rf gurobi/linux/docs + +ENV GUROBI_HOME=/opt/gurobi/linux +ENV PATH=$PATH:$GUROBI_HOME/bin +ENV LD_LIBRARY_PATH=$GUROBI_HOME/lib # Install MathSAT @@ -82,22 +88,18 @@ RUN curl -L -o soplex.tar.gz https://github.com/scipopt/soplex/archive/refs/tags && rm -r /opt/soplex -# Install Gurobi -################# -# From https://github.com/Gurobi/docker-optimizer/blob/master/12.0.2/Dockerfile -WORKDIR /opt -RUN if [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ - export GRB_PLATFORM="armlinux64"; \ - else \ - export GRB_PLATFORM="linux64"; \ - fi \ - && wget -v https://packages.gurobi.com/${GUROBI_SHORT_VERSION}/gurobi${GUROBI_VERSION}_$GRB_PLATFORM.tar.gz \ - && tar -xvf gurobi${GUROBI_VERSION}_$GRB_PLATFORM.tar.gz \ - && rm *.tar.gz \ - && mv -f gurobi* gurobi \ - && mv -f gurobi/$GRB_PLATFORM* gurobi/linux \ - && rm -rf gurobi/linux/docs +# Install Spot +############## +# Manual installation +WORKDIR /opt/ +RUN curl -L -o spot.tar.gz http://www.lrde.epita.fr/dload/spot/spot-${SPOT_VERSION}.tar.gz \ + && tar -xzf spot.tar.gz \ + && rm spot.tar.gz \ + && cd spot-${SPOT_VERSION} \ + && ./configure --disable-python \ + && make -j $no_threads \ + && make install -j $no_threads \ + && cd /opt \ + && rm -r spot-${SPOT_VERSION} + -ENV GUROBI_HOME=/opt/gurobi/linux -ENV PATH=$PATH:$GUROBI_HOME/bin -ENV LD_LIBRARY_PATH=$GUROBI_HOME/lib From 247b0a16bb5ca37caa7fe78ab7720275430e4612 Mon Sep 17 00:00:00 2001 From: Matthias Volk Date: Tue, 18 Aug 2026 13:29:48 +0200 Subject: [PATCH 3/3] Support for building HiGHS --- storm-dependencies/Dockerfile | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/storm-dependencies/Dockerfile b/storm-dependencies/Dockerfile index c81a156..1ee1d6b 100644 --- a/storm-dependencies/Dockerfile +++ b/storm-dependencies/Dockerfile @@ -21,6 +21,7 @@ ARG no_threads=2 # Specify library versions ARG GUROBI_VERSION=13.0.2 ARG GUROBI_SHORT_VERSION=13.0 +ARG HIGHS_VERSION=v1.15.1 ARG MATHSAT_VERSION=5.6.17 ARG SOPLEX_VERSION=8.0.3 ARG SPOT_VERSION=2.15.1 @@ -58,6 +59,18 @@ ENV PATH=$PATH:$GUROBI_HOME/bin ENV LD_LIBRARY_PATH=$GUROBI_HOME/lib +# Install HiGHS +############### +WORKDIR /opt/ +RUN git clone https://github.com/ERGO-Code/HiGHS -b ${HIGHS_VERSION} \ + && mkdir HiGHS/build \ + && cd HiGHS/build \ + && cmake .. \ + && make -j $no_threads \ + && make install -j $no_threads \ + && rm -r /opt/HiGHS + + # Install MathSAT ################# WORKDIR /opt/