-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathSingularity.wct0.8.0-ub1804
82 lines (66 loc) · 4.11 KB
/
Singularity.wct0.8.0-ub1804
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
# This builds for WCT dev
Bootstrap: debootstrap
OSVersion: bionic
MirrorURL: http://us.archive.ubuntu.com/ubuntu/
%runscript
exec echo "The runscript is the containers default runtime command!"
% fixme: should wget this below for a production version of this script
%files
root_v6.14.02.Linux-ubuntu18-x86_64-gcc7.3.tar.gz /usr/local/src
%post
echo "Adding more Ubuntu"
sed -i 's/$/ universe multiverse restricted/' /etc/apt/sources.list
apt-get update
apt-get upgrade
apt-get -y install git wget build-essential make cmake bison emacs25 jq g++ gcc libeigen3-dev libfftw3-dev libjsoncpp-dev libtbb-dev zlib1g-dev libjpeg-dev python python3 python3-dev python3-click python3-flask graphviz python3-numpy python3-matplotlib python3-networkx python3-pygraphviz python3-ipython ipython3 python3-setuptools libboost-atomic1.65.1 libboost-chrono1.65.1 libboost-date-time1.65.1 libboost-filesystem1.65.1 libboost-iostreams1.65.1 libboost-locale1.65.1 libboost-program-options1.65.1 libboost-serialization1.65.1 libboost-system1.65.1 libboost-thread1.65.1 libboost-container1.65.1 libboost-context1.65.1 libboost-coroutine1.65.1 libboost-fiber1.65.1 libboost-graph-parallel1.65.1 libboost-graph1.65.1 libboost-log1.65.1 libboost-math1.65.1 libboost-mpi-python1.65.1 libboost-mpi1.65.1 libboost-numpy1.65.1 libboost-python1.65.1 libboost-random1.65.1 libboost-regex1.65.1 libboost-signals1.65.1 libboost-stacktrace1.65.1 libboost-test1.65.1 libboost-timer1.65.1 libboost-type-erasure1.65.1 libboost-wave1.65.1 libboost-atomic1.65-dev libboost-chrono1.65-dev libboost-date-time1.65-dev libboost-filesystem1.65-dev libboost-program-options1.65-dev libboost-serialization1.65-dev libboost-system1.65-dev libboost-thread1.65-dev libboost1.65-dev libboost1.65-tools-dev libboost-container1.65-dev libboost-context1.65-dev libboost-coroutine1.65-dev libboost-exception1.65-dev libboost-fiber1.65-dev libboost-graph-parallel1.65-dev libboost-graph1.65-dev libboost-iostreams1.65-dev libboost-locale1.65-dev libboost-log1.65-dev libboost-math1.65-dev libboost-mpi-python1.65-dev libboost-mpi1.65-dev libboost-numpy1.65-dev libboost-python1.65-dev libboost-random1.65-dev libboost-regex1.65-dev libboost-signals1.65-dev libboost-stacktrace1.65-dev libboost-test1.65-dev libboost-timer1.65-dev libboost-type-erasure1.65-dev libboost-wave1.65-dev libboost1.65-all-dev
apt-get clean
mkdir -p /usr/local/
cd /usr/local/
mkdir -p src bin lib include opt share
cd /usr/local/src
echo "Building jsonnet"
wget https://github.com/google/jsonnet/archive/v0.11.2.tar.gz
tar -xf v0.11.2.tar.gz
cd jsonnet-0.11.2/
make jsonnet libjsonnet.so libjsonnet++.so
cp jsonnet /usr/local/bin/
cp libjsonnet.so /usr/local/lib/
cp libjsonnet++.so /usr/local/lib/
cp include/libjsonnet.h /usr/local/include/
cp include/libjsonnet++.h /usr/local/include/
python3 setup.py install
cd ..
rm -rf v0.11.2.tar.gz jsonnet-0.11.2/
cd /usr/local/src
echo "Getting binary ROOT"
## fixme: for testing we use a pre-downloaded copy added above
## wget https://root.cern.ch/download/root_v6.14.02.Linux-ubuntu18-x86_64-gcc7.3.tar.gz
echo "FIXME: using local ROOT binary tar file to avoid slow download"
tar -xf root_v6.14.02.Linux-ubuntu18-x86_64-gcc7.3.tar.gz
cd root
tar -cf - * | tar -C /usr/local -xf -
cd /usr/local/src
rm -rf root root_v6.14.02.Linux-ubuntu18-x86_64-gcc7.3.tar.gz
echo "Getting WCT data and config"
mkdir -p /usr/local/share/wirecell
cd /usr/local/share/wirecell
git clone https://github.com/WireCell/wire-cell-cfg.git cfg
git clone https://github.com/WireCell/wire-cell-data.git data
echo "Getting WCT source, building and installing"
cd /usr/local/src
git clone --recursive --branch 0.8.x https://github.com/WireCell/wire-cell-build.git
cd wire-cell-build
git checkout -b 0.8.0 0.8.0
git submodule init
git submodule update
./wcb configure --prefix=/usr/local/opt/wct --with-jsonnet=/usr/local --with-eigen-include=/usr/include/eigen3
./wcb --notests
./wcb install --notests
rm -rf build
rm -f util/test_json*
%environment
WIRECELL_PATH=/usr/local/share/wirecell/data:/usr/local/share/wirecell/cfg
export WIRECELL_PATH
# note: do not include /usr/local/opt/wct/lib here
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH