Skip to content

Commit

Permalink
Install OpenBLAS in final image
Browse files Browse the repository at this point in the history
Previously, CVXOPT was unusable on the arm64 variant with this error:

    ImportError: liblapack.so.3: cannot open shared object file: No such file or directory

This makes sense because the CVXOPT installation instructions state that
BLAS and LAPACK are required¹ (these are provided by the OpenBLAS
package). In c151560, they were only
installed in the builder image since I did not realize they were
required during run time.

¹ https://cvxopt.org/install/#building-and-installing-from-source
  • Loading branch information
victorlin committed May 3, 2023
1 parent c4650eb commit fa48e73
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,20 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
RUN curl -fsSL https://deb.nodesource.com/setup_14.x | bash - \
&& apt-get update && apt-get install -y nodejs

# Used for platform-specific instructions
ARG TARGETPLATFORM

# Install CVXOPT deps on linux/arm64
# CVXOPT, an Augur dependency, was built separately above without runtime deps¹
# packaged like they are for the amd64 wheel.
#
# ¹ https://cvxopt.org/install/#building-and-installing-from-source
RUN if [[ "$TARGETPLATFORM" == linux/arm64 ]]; then \
apt-get update && apt-get install -y --no-install-recommends \
libopenblas-base \
; \
fi

# Configure bash for interactive usage
COPY bashrc /etc/bash.bashrc

Expand Down

0 comments on commit fa48e73

Please sign in to comment.