-
Notifications
You must be signed in to change notification settings - Fork 18.7k
/
install-deps.sh
executable file
·112 lines (98 loc) · 2.72 KB
/
install-deps.sh
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
#!/bin/bash
# install dependencies
# (this script must be run as root)
BASEDIR=$(dirname $0)
source $BASEDIR/defaults.sh
apt-get -y update
apt-get install -y --no-install-recommends \
build-essential \
graphviz \
libboost-filesystem1.55-dev \
libboost-python1.55-dev \
libboost-system1.55-dev \
libboost-thread1.55-dev \
libgflags-dev \
libgoogle-glog-dev \
libhdf5-serial-dev \
libopenblas-dev \
python-virtualenv \
wget
if $WITH_CMAKE ; then
apt-get install -y --no-install-recommends cmake
fi
if ! $WITH_PYTHON3 ; then
# Python2
apt-get install -y --no-install-recommends \
libprotobuf-dev \
protobuf-compiler \
python-dev \
python-numpy \
python-protobuf \
python-pydot \
python-skimage
else
# Python3
apt-get install -y --no-install-recommends \
python3-dev \
python3-numpy \
python3-skimage
# build Protobuf3 since it's needed for Python3
PROTOBUF3_DIR=~/protobuf3
pushd .
if [ -d "$PROTOBUF3_DIR" ] && [ -e "$PROTOBUF3_DIR/src/protoc" ]; then
echo "Using cached protobuf3 build ..."
cd $PROTOBUF3_DIR
else
echo "Building protobuf3 from source ..."
rm -rf $PROTOBUF3_DIR
mkdir $PROTOBUF3_DIR
# install some more dependencies required to build protobuf3
apt-get install -y --no-install-recommends \
curl \
dh-autoreconf \
unzip
wget https://github.com/google/protobuf/archive/3.0.x.tar.gz -O protobuf3.tar.gz
tar -xzf protobuf3.tar.gz -C $PROTOBUF3_DIR --strip 1
rm protobuf3.tar.gz
cd $PROTOBUF3_DIR
./autogen.sh
./configure --prefix=/usr
make --jobs=$NUM_THREADS
fi
make install
popd
fi
if $WITH_IO ; then
apt-get install -y --no-install-recommends \
libleveldb-dev \
liblmdb-dev \
libopencv-dev \
libsnappy-dev
fi
if $WITH_CUDA ; then
# install repo packages
CUDA_REPO_PKG=cuda-repo-ubuntu1404_7.5-18_amd64.deb
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/$CUDA_REPO_PKG
dpkg -i $CUDA_REPO_PKG
rm $CUDA_REPO_PKG
if $WITH_CUDNN ; then
ML_REPO_PKG=nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb
wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/$ML_REPO_PKG
dpkg -i $ML_REPO_PKG
fi
# update package lists
apt-get -y update
# install packages
CUDA_PKG_VERSION="7-5"
CUDA_VERSION="7.5"
apt-get install -y --no-install-recommends \
cuda-core-$CUDA_PKG_VERSION \
cuda-cudart-dev-$CUDA_PKG_VERSION \
cuda-cublas-dev-$CUDA_PKG_VERSION \
cuda-curand-dev-$CUDA_PKG_VERSION
# manually create CUDA symlink
ln -s /usr/local/cuda-$CUDA_VERSION /usr/local/cuda
if $WITH_CUDNN ; then
apt-get install -y --no-install-recommends libcudnn6-dev
fi
fi