Skip to content

Instantly share code, notes, and snippets.

@stevenrbrandt
Created October 30, 2018 19:35
Show Gist options
  • Save stevenrbrandt/56cc36a9c9cb0375ae264c398d0e3431 to your computer and use it in GitHub Desktop.
Save stevenrbrandt/56cc36a9c9cb0375ae264c398d0e3431 to your computer and use it in GitHub Desktop.
FROM ubuntu
RUN apt-get update
RUN apt-get install -y clang cmake python3 python3-pip bzip2 hwloc \
libhwloc-dev git make libpython3-dev libblas-dev \
liblapack-dev
RUN pip3 install pytest
WORKDIR /
ENV CPLUS_INCLUDE_PATH /usr/include/python3.6m
WORKDIR /
COPY boost_1_65_1.tar.bz2 boost_1_65_1.tar.bz2
RUN tar xjf boost_1_65_1.tar.bz2
WORKDIR /boost_1_65_1
RUN bash ./bootstrap.sh
RUN ./b2 toolset=clang address-model=64 cxxflags='-fsanitize=address' linkflags='-lasan' -j 20 install
WORKDIR /
RUN git clone --depth 1 https://github.com/STEllAR-GROUP/hpx.git
WORKDIR /hpx
RUN mkdir -p build
WORKDIR /hpx/build
RUN cmake -DCMAKE_BUILD_TYPE=Debug \
-DHPX_WITH_MALLOC=system \
-DHPX_WITH_SANITIZERS=On \
-DHPX_WITH_EXAMPLES=Off \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
..
RUN make -j 20
RUN make install
WORKDIR /
RUN git clone --depth 1 https://github.com/pybind/pybind11.git
WORKDIR /pybind11
RUN mkdir -p /pybind11/build
WORKDIR /pybind11/build
RUN cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS='-fsanitize=address' ..
RUN make -j 20
RUN make install
WORKDIR /
RUN git clone --depth 1 https://bitbucket.org/blaze-lib/blaze.git
RUN mkdir -p /blaze/build
WORKDIR /blaze/build
RUN cmake -DCMAKE_BUILD_TYPE=Debug -DBLAZE_SMP_THREADS=C++11 -DCMAKE_CXX_FLAGS='-fsanitize=address' ..
RUN make -j 20
RUN make install
WORKDIR /
RUN git clone https://github.com/STEllAR-GROUP/phylanx.git
WORKDIR /phylanx
RUN mkdir -p /phylanx/build
WORKDIR /phylanx/build
RUN cmake -DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_CXX_COMPILER=clang++ \
-DHPX_DIR=/usr/local/lib/cmake/HPX \
-DCMAKE_CXX_FLAGS='-fsanitize=address -lasan' \
-DCMAKE_EXE_LINKER_FLAGS='-lasan' \
..
RUN make -j 20 install
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment