Skip to content

Commit

Permalink
Update buildenv containers
Browse files Browse the repository at this point in the history
- Add CentOS 8 container
- Migrate changes from Singularity definition files
  • Loading branch information
rbberger committed Oct 26, 2020
1 parent 5ff79c4 commit f194175
Show file tree
Hide file tree
Showing 10 changed files with 343 additions and 85 deletions.
63 changes: 55 additions & 8 deletions docker/centos7.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,58 @@ FROM centos:7

RUN yum -y install epel-release && \
yum -y update && \
yum -y install vim-enhanced \
ccache gcc-c++ gcc-gfortran clang gdb valgrind-openmpi \
make cmake cmake3 ninja-build patch which file git Lmod \
libpng-devel libjpeg-devel openmpi-devel mpich-devel python-devel python36-devel \
hdf5-devel python36-virtualenv python36-pip python36-PyYAML python-pip \
netcdf-devel netcdf-cxx-devel netcdf-mpich-devel netcdf-openmpi-devel \
python-virtualenv fftw-devel voro++-devel eigen3-devel gsl-devel openblas-devel enchant \
blas-devel lapack-devel libyaml-devel openkim-models kim-api-devel zstd libzstd-devel && \
yum -y install \
Lmod \
blas-devel \
ccache \
clang \
cmake3 \
eigen3-devel \
enchant \
fftw-devel \
file \
gcc-c++ \
gcc-gfortran \
gdb \
git \
gsl-devel \
hdf5-devel \
kim-api-devel \
lapack-devel \
libjpeg-devel \
libjpeg-devel \
libpng-devel \
libpng-devel \
libyaml-devel \
libzstd-devel \
make \
mpich-devel \
mpich-devel \
netcdf-cxx-devel \
netcdf-devel \
netcdf-mpich-devel \
netcdf-openmpi-devel \
ninja-build \
openblas-devel \
openkim-models \
openmpi-devel \
openmpi-devel \
patch \
python-devel \
python-devel \
python-pip \
python-virtualenv \
python3-PyYAML \
python3-devel \
python3-devel \
python3-pip \
python3-venv \
readline-devel \
valgrind-openmpi \
vim-enhanced \
voro++-devel \
which \
zstd && \
yum clean all

ENV PLUMED_VERSION=2.6.1
Expand All @@ -36,6 +80,9 @@ ENV OMPI_MCA_btl="tcp,self"
# do not warn about unused components as this messes up testing
ENV OMPI_MCA_btl_base_warn_component_unused="0"

# create missing readline pkgconfig file
COPY readline.pc /usr/lib64/pkgconfig/readline.pc

COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["/bin/bash"]
104 changes: 104 additions & 0 deletions docker/centos8.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
FROM centos:8

RUN dnf -y install epel-release dnf-utils && \
dnf config-manager --set-enabled PowerTools && \
dnf -y update && \
dnf -y install \
blas-devel \
ccache \
clang \
cmake \
diffutils \
doxygen \
doxygen-latex \
eigen3-devel \
enchant \
fftw-devel \
file \
file \
gcc-c++ \
gcc-gfortran \
gdb \
git \
gsl-devel \
hdf5-devel \
kim-api-devel \
lapack-devel \
latexmk \
libasan \
libjpeg-devel \
libomp-devel \
libpng-devel \
libtsan \
libubsan \
libyaml-devel \
libzstd-devel \
make \
mpich-devel \
netcdf-cxx-devel \
netcdf-devel \
netcdf-mpich-devel \
netcdf-openmpi-devel \
ninja-build \
openblas-devel \
openkim-models \
openmpi-devel \
patch \
platform-python-devel \
python3-virtualenv \
readline-devel \
texlive-anysize \
texlive-capt-of \
texlive-collection-latex \
texlive-collection-latexrecommended \
texlive-dvipng \
texlive-fncychap \
texlive-framed \
texlive-latex \
texlive-latex-bin \
texlive-latex-fonts \
texlive-latexconfig \
texlive-lualatex-math \
texlive-needspace \
texlive-pslatex \
texlive-tabulary \
texlive-titlesec \
texlive-upquote \
texlive-wrapfig \
valgrind \
vim-enhanced \
voro++-devel \
which \
zstd && \
dnf clean all

ENV PLUMED_VERSION=2.6.1

# manually install Plumed
RUN . /etc/profile && \
module load mpi && \
mkdir plumed && \
cd plumed && \
curl -L -o plumed.tar.gz https://github.com/plumed/plumed2/releases/download/v${PLUMED_VERSION}/plumed-src-${PLUMED_VERSION}.tgz && \
tar -xzf plumed.tar.gz && \
cd plumed-${PLUMED_VERSION} && \
./configure --disable-doc --prefix=/usr && \
make -j 4 && \
make install && \
mv -v /usr/lib/pkgconfig/plumed* /usr/share/pkgconfig/ && \
cd ../../ && \
rm -rvf plumed

ENV LC_ALL=C

# restrict OpenMPI to shared memory comm by default
ENV OMPI_MCA_btl="tcp,self"
# do not warn about unused components as this messes up testing
ENV OMPI_MCA_btl_base_warn_component_unused="0"

# create missing readline pkgconfig file
COPY readline.pc /usr/lib64/pkgconfig/readline.pc

COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["/bin/bash"]
148 changes: 114 additions & 34 deletions docker/fedora32_mingw.dockerfile
Original file line number Diff line number Diff line change
@@ -1,40 +1,117 @@
FROM fedora:32

RUN dnf -y update && \
dnf -y install vim-enhanced git file make cmake patch which file Lmod \
ninja-build clang libomp-devel libubsan libasan libtsan diffutils \
dos2unix findutils rsync python-devel libjpeg-devel libpng-devel \
ccache gcc-c++ gcc-gfortran gdb valgrind eigen3-devel openblas-devel \
openmpi-devel mpich-devel fftw-devel voro++-devel gsl-devel hdf5-devel \
netcdf-devel netcdf-cxx-devel netcdf-mpich-devel netcdf-openmpi-devel \
python3-pyyaml \
mingw-filesystem-base mingw32-nsis mingw-binutils-generic \
mingw32-filesystem mingw32-pkg-config \
mingw64-filesystem mingw64-pkg-config \
mingw32-crt mingw32-headers mingw32-binutils \
mingw64-crt mingw64-headers mingw64-binutils \
mingw32-cpp mingw32-gcc mingw32-gcc-gfortran mingw32-gcc-c++ \
mingw64-cpp mingw64-gcc mingw64-gcc-gfortran mingw64-gcc-c++ \
mingw32-libgomp mingw64-libgomp \
mingw32-winpthreads mingw64-winpthreads \
mingw32-winpthreads-static mingw64-winpthreads-static \
mingw32-eigen3 mingw64-eigen3 \
mingw32-libjpeg-turbo mingw64-libjpeg-turbo \
mingw32-libjpeg-turbo-static mingw64-libjpeg-turbo-static \
mingw32-libpng mingw64-libpng \
mingw32-libpng-static mingw64-libpng-static \
mingw32-zlib mingw64-zlib \
mingw32-zlib-static mingw64-zlib-static \
mingw32-expat mingw64-expat \
mingw64-expat-static mingw32-expat-static \
mingw32-sqlite-static mingw64-sqlite-static \
enchant python3-virtualenv doxygen latexmk \
texlive-latex-fonts texlive-pslatex texlive-collection-latexrecommended \
texlive-latex texlive-latexconfig doxygen-latex texlive-collection-latex \
texlive-latex-bin texlive-lualatex-math texlive-fncychap texlive-tabulary \
texlive-framed texlive-wrapfig texlive-upquote texlive-capt-of \
texlive-needspace texlive-titlesec texlive-anysize texlive-dvipng texlive-xindy \
blas-devel lapack-devel libyaml-devel openkim-models kim-api-devel zstd libzstd-devel && \
dnf -y install \
blas-devel \
ccache \
clang \
cmake \
diffutils \
dos2unix \
doxygen \
doxygen-latex \
eigen3-devel \
enchant \
fftw-devel \
file \
file \
findutils \
gcc-c++ \
gcc-gfortran \
gdb \
git \
gsl-devel \
hdf5-devel \
kim-api-devel \
lapack-devel \
latexmk \
libasan \
libjpeg-devel \
libomp-devel \
libpng-devel \
libtsan \
libubsan \
libyaml-devel \
libzstd-devel
make \
mingw-binutils-generic \
mingw-filesystem-base \
mingw32-binutils \
mingw32-cpp \
mingw32-crt \
mingw32-eigen3 \
mingw32-fftw \
mingw32-filesystem \
mingw32-gcc \
mingw32-gcc-c++ \
mingw32-gcc-gfortran \
mingw32-headers \
mingw32-libgomp \
mingw32-libjpeg-turbo \
mingw32-libpng \
mingw32-nsis \
mingw32-pkg-config \
mingw32-readline \
mingw32-termcap \
mingw32-winpthreads \
mingw32-zlib \
mingw64-binutils \
mingw64-cpp \
mingw64-crt \
mingw64-eigen3 \
mingw64-fftw \
mingw64-filesystem \
mingw64-gcc \
mingw64-gcc-c++ \
mingw64-gcc-gfortran \
mingw64-headers \
mingw64-libgomp \
mingw64-libjpeg-turbo \
mingw64-libpng \
mingw64-pkg-config \
mingw64-readline \
mingw64-termcap \
mingw64-winpthreads \
mingw64-zlib \
mpich-devel \
netcdf-cxx-devel \
netcdf-devel \
netcdf-mpich-devel \
netcdf-openmpi-devel \
ninja-build \
openblas-devel \
openkim-models \
openmpi-devel \
patch \
python-devel \
python3-pyyaml \
python3-virtualenv \
readline-devel \
rsync \
texlive-anysize \
texlive-capt-of \
texlive-collection-latex \
texlive-collection-latexrecommended \
texlive-dvipng \
texlive-fncychap \
texlive-framed \
texlive-latex \
texlive-latex-bin \
texlive-latex-fonts \
texlive-latexconfig \
texlive-lualatex-math \
texlive-needspace \
texlive-pslatex \
texlive-tabulary \
texlive-titlesec \
texlive-upquote \
texlive-wrapfig \
texlive-xindy \
valgrind \
vim-enhanced \
voro++-devel \
which \
zstd && \
dnf clean all

ENV PLUMED_VERSION=2.6.1
Expand All @@ -59,6 +136,9 @@ ENV OMPI_MCA_btl="tcp,self"
# do not warn about unused components as this messes up testing
ENV OMPI_MCA_btl_base_warn_component_unused="0"

COPY termcap_i686.pc /usr/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig/termcap.pc
COPY termcap_x86_64.pc /usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig/termcap.pc

COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["/bin/bash"]
12 changes: 12 additions & 0 deletions docker/readline.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib64
includedir=/usr/include

Name: Readline
Description: GNU Readline library for command line editing
URL: http://tiswww.cwru.edu/php/chet/readline/rltop.html
Version: 6.2
Requires.private: ncurses
Libs: -L\${libdir} -lreadline
Cflags: -I\${includedir}/readline
11 changes: 11 additions & 0 deletions docker/termcap_i686.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
prefix=/usr/i686-w64-mingw32/sys-root/mingw
exec_prefix=/usr/i686-w64-mingw32/sys-root/mingw
libdir=/usr/i686-w64-mingw32/sys-root/mingw/lib
includedir=/usr/i686-w64-mingw32/sys-root/mingw/include

Name: Termcap
Description: GNU/MinGW terminal feature database
URL: ftp://ftp.gnu.org/gnu/termcap/
Version: 1.3
Libs: -L\${libdir} -ltermcap
Cflags:
11 changes: 11 additions & 0 deletions docker/termcap_x86_64.pc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
prefix=/usr/x86_64-w64-mingw32/sys-root/mingw
exec_prefix=/usr/x86_64-w64-mingw32/sys-root/mingw
libdir=/usr/x86_64-w64-mingw32/sys-root/mingw/lib
includedir=/usr/x86_64-w64-mingw32/sys-root/mingw/include

Name: Termcap
Description: GNU/MinGW terminal feature database
URL: ftp://ftp.gnu.org/gnu/termcap/
Version: 1.3
Libs: -L\${libdir} -ltermcap
Cflags:
Loading

0 comments on commit f194175

Please sign in to comment.