-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
26 lines (24 loc) · 1.24 KB
/
Dockerfile
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
# A bleeding edge Ubuntu 14.04 image for compiling CnC Programs (C++).
FROM ubuntu:14.04
MAINTAINER fschlimb
# update and install dependencies
RUN apt-get update && apt-get -y upgrade && apt-get install -y gcc g++ make cmake git wget mpich2 libmpich2-dev python doxygen \
&& apt-get -y autoremove
# get TBB
RUN wget -nv https://www.threadingbuildingblocks.org/sites/default/files/software_releases/linux/tbb43_20141204oss_lin.tgz \
&& tar -xz -C /usr/share -f tbb43_20141204oss_lin.tgz \
&& ln -s /usr/share/tbb43_20141204oss/lib/intel64/gcc4.4/* /usr/lib/ \
&& ln -s /usr/share/tbb43_20141204oss/include/tbb /usr/include/ \
&& ln -s /usr/share/tbb43_20141204oss/include/serial /usr/include/ \
&& rm tbb*
# build CnC
#RUN git clone https://github.com/icnc/icnc.git \
RUN mkdir icnc
COPY . icnc/
RUN cd icnc \
&& python make_kit.py --tbb=/usr --mpi=/usr --itac=NONE \
&& mv `pwd`/kit.pkg/cnc /usr/share/ \
&& ln -s /usr/share/cnc/current/lib/intel64/* /usr/lib/ \
&& ln -s /usr/share/cnc/current/include/cnc /usr/include/ \
&& cd .. && rm -r icnc icnc.github.io
ENV CNCROOT=/usr TBBROOT=/usr MPIROOT=/usr