Skip to content

Commit

Permalink
build: use debian 20 for compatibility with glibc 2.31 (#47)
Browse files Browse the repository at this point in the history
* build: use debian 20 for compatibility with glibc 2.31

* build: add clang-format from apt

* build: add open-ssl

* Apply suggestions from code review

Co-authored-by: Lucas <lucas.bremond@gmail.com>

---------

Co-authored-by: Vishwa Shah <vishwa@loftorbital.com>
Co-authored-by: Lucas <lucas.bremond@gmail.com>
  • Loading branch information
3 people authored May 5, 2023
1 parent 9a90748 commit ea50024
Showing 1 changed file with 32 additions and 14 deletions.
46 changes: 32 additions & 14 deletions docker/development/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

################################################################################################################################################################

FROM ubuntu:22.04
FROM ubuntu:20.04

LABEL maintainer="lucas.bremond@gmail.com"

Expand Down Expand Up @@ -49,6 +49,7 @@ ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update -y \
&& apt-get install -y --no-install-recommends \
software-properties-common \
build-essential \
libncursesw5-dev \
libsqlite3-dev \
Expand All @@ -60,6 +61,17 @@ RUN apt-get update -y \
libicu-dev \
libffi-dev \
zlib1g-dev \
gnupg \
&& rm -rf /var/lib/apt/lists/*

## Clang-format

RUN wget https://apt.llvm.org/llvm-snapshot.gpg.key \
&& apt-key add llvm-snapshot.gpg.key \
&& rm llvm-snapshot.gpg.key \
&& add-apt-repository 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal main' \
&& apt-get update \
&& apt-get install -y clang-format \
&& rm -rf /var/lib/apt/lists/*

## Python 3.8
Expand Down Expand Up @@ -175,19 +187,6 @@ RUN mkdir /tmp/pybind11 \
&& apt-get install -y ./pybind11-dev_${PYBIND_11_VERSION}_all.deb \
&& rm -rf /tmp/pybind11

## Clang-format

ARG CLANG_FORMAT_VERSION="16.0.2"

RUN mkdir -p /tmp/clang-format \
&& cd /tmp/clang-format \
&& wget --quiet https://github.com/llvm/llvm-project/releases/download/llvmorg-${CLANG_FORMAT_VERSION}/clang+llvm-${CLANG_FORMAT_VERSION}-x86_64-linux-gnu-ubuntu-22.04.tar.xz \
&& tar -xf clang+llvm-${CLANG_FORMAT_VERSION}-x86_64-linux-gnu-ubuntu-22.04.tar.xz \
&& cd clang+llvm-${CLANG_FORMAT_VERSION}-x86_64-linux-gnu-ubuntu-22.04/bin \
&& cp clang-format /usr/local/bin \
&& cp git-clang-format /usr/local/bin \
&& rm -r /tmp/clang-format

## Boost

ARG BOOST_MAJOR_VERSION="1"
Expand All @@ -205,6 +204,25 @@ RUN mkdir -p /tmp/boost \
&& ./b2 -j $(nproc) python=3.10 link=shared cxxflags=-fPIC install \
&& rm -rf /tmp/boost

## OpenSSL

ARG OPENSSL_VERSION="3.0.2"

RUN mkdir /tmp/openssl \
&& cd /tmp/openssl \
&& wget https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
&& tar -xvf openssl-${OPENSSL_VERSION}.tar.gz \
&& cd openssl-${OPENSSL_VERSION} \
&& ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib \
&& make \
&& make install \
&& touch /etc/ld.so.conf.d/openssl-${OPENSSL_VERSION}.conf \
&& echo "/usr/local/ssl/lib64" >> /etc/ld.so.conf.d/openssl-${OPENSSL_VERSION}.conf \
&& ldconfig \
&& mv /usr/local/ssl/bin/c_rehash /usr/bin/c_rehash \
&& mv /usr/local/ssl/bin/openssl /usr/bin/openssl \
&& rm -rf /tmp/openssl

# Environment

ENV LD_LIBRARY_PATH /usr/local/lib:${LD_LIBRARY_PATH}
Expand Down

0 comments on commit ea50024

Please sign in to comment.