forked from Achain-Dev/Achain_linux
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuildall4root.sh
136 lines (121 loc) · 3.7 KB
/
buildall4root.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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/bin/sh
#linux_installation_guide
#befor installation, make sure you have installed dependent packages in your system
# for ubuntu systems, do as following
# apt-get update
# apt-get install cmake git libreadline-dev uuid-dev g++ libncurses5-dev zip libssl-dev openssl build-essential python-dev autoconf autotools-dev libicu-dev libbz2-dev libboost-dev libboost-all-dev
# echo "install ntp time and do configurations..."
# apt-get install ntp
# apt-get install ntpdate
# service ntp stop
# ntpdate -s time.nist.gov
# service ntp start
#
echo "Warning: make sure you have installed dependent packages in your system"
echo "if not, pls read the buildall.sh and run the comment scripts in the beginning"
echo
while true; do
read -p "Do you wish to continue building the program?[y/n] " yn
case $yn in
[Yy]* ) break;;
[Nn]* ) exit;;
* ) echo "Please enter yes or no.";;
esac
done
if [ "$1" != "download" ]
then
echo "Do not download sourcecode. Isdownload=Nodownload"
Isdownload=Nodownload
else
Isdownload=$1
fi
currentpath=$(pwd)
leveldbpath=$currentpath/leveldb-1.20/
miniupnpcpath=$currentpath/miniupnpc-1.7.20120830/
leveldbtar=$currentpath/v1.20.tar.gz
miniupnpctar=$currentpath/miniupnpc-1.7.20120830.tar.gz
fc=$currentpath/fast-compile
blockchain=$currentpath/Chain
echo "build and install the leveldb [1.18 or later]"
if [ "$Isdownload" = "download" ]
then
echo "download leveldb version 1.20 [https://github.com/google/leveldb/releases]"
wget -O v1.20.tar.gz https://github.com/google/leveldb/archive/v1.20.tar.gz
else
echo "Do not download leveldb source files"
fi
echo
if [ -f $leveldbtar ]; then
echo "unzip leveldb source files"
tar -zxvf v1.20.tar.gz
else
echo
fi
if [ -d "$leveldbpath" ]; then
cd $leveldbpath
make
scp out-static/lib* /usr/local/lib/
cd ..
else
echo "Error: there are no related leveldb files, pls check ..."
fi
echo "build and install the miniupnpc [ only 1.7 ]"
if [ "$Isdownload" = "download" ] ; then
echo "download http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.7.20120830.tar.gz"
wget -O miniupnpc-1.7.20120830.tar.gz http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.7.20120830.tar.gz
else
echo "Do not download miniupnpc files"
fi
if [ -f $miniupnpctar ]; then
echo "unzip miniupnpc..."
tar -zxvf miniupnpc-1.7.20120830.tar.gz
else
echo
fi
if [ -d "$miniupnpcpath" ]; then
cd $miniupnpcpath
cmake .
make
make install
cd ..
else
echo "Error: there are no related miniupnpc files, pls check ..."
fi
echo "build fast-compile library..."
if [ "$Isdownload" = "download" ] ; then
git clone https://github.com/Achain-Dev/fast-compile.git
cd fast-compile
git submodule update --init --recursive
git checkout static_variant_string_tag
else
echo
fi
if [ -d "$fc" ]; then
cd $fc
cmake .
make
cp libfc.a /usr/local/lib/
cp $fc/vendor/secp256k1-zkp/src/project_secp256k1-build/.libs/libsecp256k1.a /usr/local/lib
cd ..
else
echo "Error: no related fast-compile files, pls check..."
fi
echo "build BLOCKCHAIN code..."
if [ "$Isdownload" = "download" ] ; then
# currently extranet user could not download source files
# will use github open source fiels later
#mkdir -p BlockChain_Linux
#git clone https://github.com/Achain-Dev/Achain_linux.git
echo
else
echo
fi
if [ -d "$blockchain" ]; then
cd $blockchain
cmake .
make
cd ..
else
echo "Error: no related Achain_linux files, pls check..."
fi
echo "Info: finished building work, pls move $blockchain/Achain to the running directory "