-
Notifications
You must be signed in to change notification settings - Fork 2
/
install_reqs.sh
executable file
·63 lines (55 loc) · 2.01 KB
/
install_reqs.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
#!/bin/sh
#
# \description Install all external libraries for the PyCABeM
# Note: this script is designed for Linux Ubuntu and might also work on Debian
# or other Linuxes
#
# \author Artem V L <luart@ya.ru>
# Repository for the latest pypy
sudo add-apt-repository -y ppa:pypy/ppa
# Update packages information
sudo apt-get -y update
# Get errorcode of the last operation and terminate if the update failed
ERR=$?
if [ $ERR -ne 0 ]
then
echo "ERROR, the dependencies installation terminated, \"apt-get update\" failed with the code $ERR"
exit $ERR
fi
# Note: libstdc++6 version GLIBCXX_3.4.20+ is required only on the outdated Ubuntu (before 16.04)
# sudo add-apt-repository ppa:ubuntu-toolchain-r/test # Required on the outdated Ubuntu (before 16.04)
# Install applications dependencies:
# "hwloc" (includes lstopo) is required to identify enumeration type of CPUs
# to perform correct CPU affinity masking
# "libxml2-dev zlib1g-dev python-pip" required for python-igraph, which is required for Louvain (igraph)
# "openjdk-8-jre" (java) is required for GaNXIS
# "libboost-program-options1.58.0" for RGMC
# "libtbb2" for gecmi (NMI ovp multi-resolution evaluation)
#
# Pypy related requirements to compile the benchmark:
# libhdf5-serial-dev (contains hdf5.h but it can not be found during the compilation)
# libtool flex (required for python-igraph undo pypy)
sudo apt-get install -y \
hwloc \
python3 python3-pip pypy-dev pypy3-dev \
libxml2-dev zlib1g-dev \
openjdk-8-jre \
libboost-program-options1.58.0 \
libtbb2
# Check and set locale if required. Note: "" = ''
if [ "$LC_ALL" = '' ]
then
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
fi
# Note: Python3 and pip3 were installed on previous step
sudo pip3 install --upgrade pip
# Install Python dependencies
# louvain_igraph.py: python-igraph ...
sudo pip3 install -r pyreqs.txt
wget https://bootstrap.pypa.io/get-pip.py
for PYX in (pypy pypy3); do
$PYX ./get-pip.py --user
$PYX -m pip install -U --user numpy # python-igraph networkx ## scipy
done
rm ./get-pip.py