Skip to content
Snippets Groups Projects
Dockerfile 2.02 KiB
Newer Older
FROM centos:centos7.3.1611

RUN yum -y update && \
    yum -y install \
        bzip2-devel.x86_64 \
        curl \
        gcc \
        gcc-c++ \
        gcc-gfortran \
        gmake \
        hdf5-devel.x86_64 \
        numpy.x86_64 \
        python-devel.x86_64 \
        https://github.com/openhpc/ohpc/releases/download/v1.3.GA/ohpc-release-1.3-1.el7.x86_64.rpm

RUN yum -y update && \
    yum -y install \
        czmq-devel \
        mpi4py-openmpi.x86_64 \
        ohpc-base \
        openmpi-gnu7-ohpc \
        phdf5-gnu7-openmpi-ohpc \
        netcdf-gnu7-openmpi-ohpc

WORKDIR /home/adios2

# Now get some packages from source and build them, starting with CMake

RUN curl -O https://cmake.org/files/v3.6/cmake-3.6.0-Linux-x86_64.tar.gz && \
    mkdir -p /opt/cmake && \
    cd /opt/cmake && \
    tar -zxvf /home/adios2/cmake-3.6.0-Linux-x86_64.tar.gz && \
    rm -rf /home/adios2/cmake-3.6.0-Linux-x86_64.tar.gz && \
    ln -s /opt/cmake/cmake-3.6.0-Linux-x86_64/bin/cmake /usr/local/bin/cmake && \
    ln -s /opt/cmake/cmake-3.6.0-Linux-x86_64/bin/cpack /usr/local/bin/cpack && \
    ln -s /opt/cmake/cmake-3.6.0-Linux-x86_64/bin/ctest /usr/local/bin/ctest && \

# Clone and build zfp master

    mkdir /opt/zfp && \
    cd /opt/zfp && \
    mkdir build install && \
    git clone https://github.com/LLNL/zfp.git src && \
    cd build && \
    cmake -DCMAKE_INSTALL_PREFIX:String=/opt/zfp/install ../src/ && \
    make install && \
    cd ../ && \
    rm -rf build src && \

# Clone ADIOS1 and build two versions

    mkdir -p /opt/adios1/1.12.0 && \
    cd /opt/adios1/1.12.0 && \
    curl -OL https://github.com/ornladios/ADIOS/archive/v1.12.0.tar.gz && \
    tar -zxvf v1.12.0.tar.gz && \
    
    mkdir build-gnu-485 build-gnu-710 && \
    mkdir gnu-4.8.5 gnu-7.1.0 && \
    cd build-gnu-485 && \

    cd /opt/adios1/1.12.0 && \
    rm -rf ADIOS-1.12.0 build-gnu-485 build-gnu-710 v1.12.0.tar.gz && \

# Make the directory where CircleCI can clone the ADIOS2 source

    mkdir -p /home/adios2/hidecirclesource

WORKDIR /home/adios2