Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 355 -- Fixing docker image creation #356

Merged
merged 11 commits into from
Jan 7, 2025
40 changes: 24 additions & 16 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,40 +5,48 @@ FROM gcc:9.5.0
# Set up WORKDIR
WORKDIR /usr/local/specfempp

COPY . .
ENV SOURCE=/usr/local/specfempp/source
ENV BUILD=/usr/local/specfempp/build

# Install CMake
COPY . ${SOURCE}

# Build and Install CMake
RUN echo "Installing CMake..." && \
echo "====================" && \
echo "" && \
apt-get update && \
apt-get install -y cmake && \
apt purge cmake && \
version=3.26 && \
build=5 && \
## don't modify from here
mkdir ~/temp && \
cd ~/temp && \
wget https://cmake.org/files/v$version/cmake-$version.$build.tar.gz && \
tar -xzvf cmake-$version.$build.tar.gz && \
cd cmake-$version.$build/ && \
./bootstrap --parallel=$(nproc) && \
make -j$(nproc) && \
make -j$(nproc) install && \
rm -rf ~/temp && \
echo "Done."

RUN echo "cmake version:" && \
cmake --version && \
echo "Done."

# Install Boost
RUN echo "Installing Boost..." && \
echo "====================" && \
echo "" && \
wget https://archives.boost.io/release/1.73.0/source/boost_1_73_0.tar.bz2 && \
tar --bzip2 -xf boost_1_73_0.tar.bz2 && \
cd boost_1_73_0 && \
./bootstrap.sh --prefix=/usr/local/boost_1_73_0 && \
./b2 install

# Install SPECFEM++
RUN echo "Installing SPECFEM++..." && \
echo "========================" && \
echo "" && \
cd ${SOURCE} && \
git submodule init && git submodule update && \
cmake -S . -B build -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTS=ON -D BUILD_EXAMPLES=ON && \
cmake --build build && \
rm -rf ${BUILD} && \
cmake -S ${SOURCE} -B ${BUILD} -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTS=ON -D BUILD_EXAMPLES=ON && \
cmake --build ${BUILD} && \
rm -rf ${SOURCE} && \
echo "Done."

# Set environment variables
ENV PATH="/usr/local/specfempp/build:${PATH}"
ENV PATH="${BUILD}/bin:${PATH}"

CMD ["/bin/bash"]
Loading