1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
FROM ubuntu:24.04
RUN export DEBIAN_FRONTEND=noninteractive && apt-get update && \
apt-get install -y \
cmake \
g++ \
git \
libblas-dev \
liblua5.3-dev \
libboost-dev \
libgtkmm-4.0-dev \
libcfitsio-dev \
libfftw3-dev \
libgsl-dev \
libhdf5-dev \
liblapack-dev \
libpng-dev \
libpython3-dev \
pybind11-dev \
pkg-config \
# for casacore
bison \
flex \
gfortran \
python3-dev \
python3-numpy \
libboost-python-dev \
libblas-dev \
liblapack-dev \
libreadline-dev \
wcslib-dev \
wget && \
rm -rf /var/lib/apt/lists/*
# Install the casacore measures data. We purposely do not install these from
# the Ubuntu repository, but download the latest version directly from the
# ASTRON site.
# Note: The file on the ftp site is updated daily. When warnings regarding
# leap seconds appear, ignore them or regenerate the docker image.
RUN mkdir -p /usr/share/casacore/data && \
ln -s /usr/share/casacore /var/lib/casacore && \
wget -qO - https://www.astron.nl/iers/WSRT_Measures.ztar | \
tar -C /usr/share/casacore/data -xzf -
# The casacore version in Ubuntu is too old to support C++20, so install a more recent one.
RUN mkdir /external && \
cd /external && \
git clone --depth 1 https://github.com/casacore/casacore.git && \
cd /external/casacore && \
mkdir build && \
cd build && \
cmake .. -DBUILD_TESTING=OFF -DDATA_DIR=/usr/share/casacore/data && \
make -j`nproc` && \
make install -j`nproc` && \
cd /external && \
rm -rf /external/casacore
ADD . /src
WORKDIR /src
RUN \
mkdir /build && \
cd /build && \
cmake ../src && \
make -j`nproc` && \
make install
RUN cd /build/python && echo "import aoflagger" | python3
RUN cd / && rm -rf /build && aoflagger --version
|