hadrons-env/Dockerfile
Justus Kuhlmann 6779244ee1
All checks were successful
Publish Docker image / Push Docker image to Docker Hub (release) Successful in 1h5m48s
Add node, required for checkout
2025-06-02 18:51:11 +02:00

60 lines
1.9 KiB
Docker

FROM fedora:42
RUN dnf install -y gcc wget perl git autoconf automake libtool m4 gettext bzip2-libs libtool bzip2 xz mpfr-devel gmp-devel libmpc-devel zlib-devel glibc-devel.i686 glibc-devel isl-devel g++ gcc-gnat gcc-gdc libgphobos-static
RUN dnf install -y gmp mpfr fftw awk
RUN dnf install -y dnf-plugins-core
RUN dnf install -y openmpi openmpi-devel
RUN dnf install -y hdf5 hdf5-devel hdf5-static
RUN dnf group install -y development-tools
RUN dnf install -y mpfr-devel gmp-devel libmpc-devel zlib-devel glibc-devel.i686 glibc-devel isl-devel g++ gcc-gnat gcc-gdc libgphobos-static openssl-devel
RUN dnf install -y node
ARG user=researcher
ARG group=researcher
ARG uid=1000
ARG gid=1000
RUN groupadd -g ${gid} ${group}
RUN useradd -u ${uid} -g ${group} -m ${user}
# Switch to user
USER ${uid}:${gid}
SHELL ["/bin/bash", "-c"]
ARG prefix=/home/${user}/libs
WORKDIR ${prefix}
WORKDIR ${prefix}
# Install LIME
RUN wget http://usqcd-software.github.io/downloads/c-lime/lime-1.3.2.tar.gz
RUN tar xvzf lime-1.3.2.tar.gz
WORKDIR ${prefix}/lime-1.3.2
RUN ./configure --prefix ${prefix}
RUN make all install
ENV PATH=/usr/lib64/openmpi/bin:$PATH
ENV LD_LIBRARY_PATH=/usr/lib64/openmpi/lib
WORKDIR /home/${user}
RUN git clone https://github.com/paboyle/Grid.git
WORKDIR /home/${user}/Grid
RUN git checkout 5a4f9bf2e35787e39e4f87c37d8acd0c56fa49c9
RUN ./bootstrap.sh
RUN mkdir build
WORKDIR /home/${user}/Grid/build
RUN ../configure --enable-comms=mpi-auto --enable-simd=AVX2 --enable-shm=shmopen --prefix=${prefix} CXX=g++ MPICXX=mpicc LDFLAGS=-L${prefix}/lib/ CXXFLAGS="-I${prefix}/include/ -std=c++17 -fpermissive"
RUN make -j 4
RUN make install
WORKDIR /home/${user}
RUN git clone https://github.com/aportelli/Hadrons.git
WORKDIR /home/${user}/Hadrons
RUN git checkout 9f5ed3e818d6293f84c950e135015062309dbaa8
RUN ./bootstrap.sh
RUN mkdir build
WORKDIR /home/${user}/Hadrons/build
RUN ../configure --with-grid=${prefix} --prefix=${prefix}
RUN make -j4
RUN make install