-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathopensuse
52 lines (48 loc) · 1.68 KB
/
opensuse
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
FROM opensuse/tumbleweed:latest
ARG PYTHON=python3.13
ARG MPI=openmpi4
RUN zypper dup -y \
&& zypper install -y \
${MPI}-devel \
boost-devel \
ccache \
cmake \
fftw3-devel \
gcc-c++ \
git \
gromacs \
gromacs-devel \
hdf5-${MPI}-devel \
libboost_filesystem-devel \
libboost_mpi-devel \
libboost_numpy3-devel \
libboost_python3-devel \
libboost_serialization-devel \
libboost_system-devel \
libboost_test-devel \
libomp-devel \
llvm-clang \
python3-devel \
python3-h5py-${MPI} \
python3-mpi4py-devel \
python3-pip \
python3-virtualenv \
shadow \
sudo \
zlib-devel \
&& zypper clean
RUN pip3 install --break-system-packages git+https://github.com/pdebuyl/pyh5md
RUN groupadd -r wheel
RUN useradd -m -G wheel -u 1001 -U espressopp
RUN echo '%wheel ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER espressopp
ENV PATH=/usr/lib64/ccache:/usr/lib64/mpi/gcc/${MPI}/bin${PATH:+:}${PATH}
ENV LD_LIBRARY_PATH=/usr/lib64/mpi/gcc/${MPI}/lib64${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}
RUN XPYTHON=$(basename $(readlink -f /usr/bin/python3)); if [[ ${XPYTHON} != ${PYTHON} ]]; then echo "PYTHON default needs update (is currently ${PYTHON}, but found ${XPYTHON})"; exit 1; fi
ENV PYTHONPATH=/usr/lib64/mpi/gcc/${MPI}/lib64/${PYTHON}/site-packages${PYTHONPATH:+:}${PYTHONPATH}
# workaround for bug in openSUSE package, also remove zlib-devel above when fixed!
ENV HDF5_USE_SHLIB=yes
WORKDIR /home/espressopp
# workaround network detection interface in OpenMPI
ENV OMPI_MCA_btl=vader,self
ENV OMPI_MCA_mtl=^ofi