-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsetup.sh
More file actions
48 lines (40 loc) · 1.06 KB
/
setup.sh
File metadata and controls
48 lines (40 loc) · 1.06 KB
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
#!/bin/sh
set -euo pipefail
{
SCRIPT=$(realpath "$0")
REPO=$(dirname "$SCRIPT")
FRCC_KERNEL="$REPO/frcc_kernel/"
EXPERIMENTS=$(realpath "$REPO/experiments/")
BENCH="$EXPERIMENTS/cc_bench"
# Install conda
cur_dir=$(pwd)
mkdir -p $HOME/opt
cd $HOME/opt
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod u+x ./Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh -b -u
cd $cur_dir
eval "$($HOME/miniconda3/bin/conda shell.zsh hook)"
conda init --all
conda tos accept
# Install dependencies
conda create -yn frcc python=3
conda activate frcc
conda install -y numpy matplotlib pandas sympy pip ipython
conda install ipdb -c conda-forge
pip install z3-solver # For verifying the proofs
# Install FRCC kernel module
cd $FRCC_KERNEL
make -j
sudo insmod tcp_frcc.ko
# Setup test bench
# conda's protobuf installation can interfere with
# genericCC and mahimahi required protobuf
cd $BENCH
conda deactivate
./setup.sh
./boot.sh
conda activate frcc
cd $REPO
exit 0
}