-
Notifications
You must be signed in to change notification settings - Fork 13
/
Dockerfile.pre
114 lines (98 loc) · 5.78 KB
/
Dockerfile.pre
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
FROM debian:8
ARG TERM=linux
ARG DEBIAN_FRONTEND=noninteractive
ENV SCIDB_VER=16.9 \
SCIDB_VER_MINOR=5.24119eb \
SCIDB_SOURCE_URL="https://docs.google.com/uc?id=0Bx6-HAs-dV5CQjlZZDJpamY0dEk&export=download"
ENV SCIDB_SOURCE_PATH=/usr/local/src/scidb-$SCIDB_VER.$SCIDB_VER_MINOR \
SCIDB_INSTALL_PATH=/opt/scidb/$SCIDB_VER \
SCIDB_BUILD_TYPE=Release
ENV PATH=$PATH:$SCIDB_INSTALL_PATH/bin
## Install dependencies
RUN apt-get update \
&& apt-get install --assume-yes --no-install-recommends \
apt-transport-https \
bison \
ca-certificates \
cmake \
flex \
g++ \
gfortran \
libbz2-dev \
libcppunit-dev \
liblapack-dev \
liblog4cxx10-dev \
libpqxx-dev \
libprotobuf-dev \
libreadline6-dev \
make \
openssh-server \
patch \
pkg-config \
postgresql \
postgresql-contrib \
protobuf-compiler \
python \
python-paramiko \
sudo \
unzip \
wget \
&& rm -rf /var/lib/apt/lists/*
## Install openjdk-8-jdk from jessie-backports
## Install dependencies requiring default-jre-headless
RUN echo "deb http://http.debian.net/debian jessie-backports main" \
> /etc/apt/sources.list.d/jessie-backports.list \
&& apt-get update \
&& apt-get install --assume-yes --no-install-recommends \
ant \
ant-contrib \
ca-certificates-java/jessie-backports \
junit \
libprotobuf-java \
openjdk-8-jdk \
openjdk-8-jre-headless \
&& rm -rf /var/lib/apt/lists/*
## Install Paradigm4 packages
RUN wget --no-verbose --output-document - https://downloads.paradigm4.com/key \
| apt-key add - \
&& echo "deb https://downloads.paradigm4.com/ ubuntu14.04/3rdparty/" \
> /etc/apt/sources.list.d/scidb.list \
&& apt-get update \
&& apt-get install --assume-yes --no-install-recommends \
scidb-$SCIDB_VER-ant \
scidb-$SCIDB_VER-cityhash \
scidb-$SCIDB_VER-libboost1.54-all-dev \
scidb-$SCIDB_VER-libcsv \
scidb-$SCIDB_VER-libmpich2-dev \
scidb-$SCIDB_VER-mpich2 \
&& rm -rf /var/lib/apt/lists/*
## Get SciDB source code
RUN mkdir $SCIDB_SOURCE_PATH \
&& wget --no-verbose --output-document - --load-cookies cookies.txt \
"$SCIDB_SOURCE_URL&` \
wget --no-verbose --output-document - --save-cookies cookies.txt \
"$SCIDB_SOURCE_URL" \
| grep --only-matching 'confirm=[^&]*'`" \
| tar --extract --gzip --directory=$SCIDB_SOURCE_PATH
## Apply Debian 8 patches
COPY patch $SCIDB_SOURCE_PATH-patch/
RUN cd $SCIDB_SOURCE_PATH \
&& cat $SCIDB_SOURCE_PATH-patch/* \
| patch --strip=1
## Build SciDB libraries (first few libs only)
RUN cd $SCIDB_SOURCE_PATH \
&& env PATH=$PATH:/opt/scidb/$SCIDB_VER/3rdparty/mpich2/bin \
./run.py setup --force \
&& cd stage/build \
&& make -j2 \
MurmurHash_lib \
json_lib \
scidb_msg_lib \
system_lib \
storage_lib \
util_lib \
catalog_lib \
compression_lib \
array_lib \
ops_lib
# $SCIDB_SOURCE_PATH/run.py make -j2