/
BuildGuide.txt
145 lines (106 loc) · 4.2 KB
/
BuildGuide.txt
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
136
137
138
139
140
141
142
143
144
145
1. Check installed dependencies(3rd Party) libraries.
- boost library:
It must be installed to "/usr/local/boost.1.77.0/"
- berkeley library
It must be installed to "/usr/local/berkeleydb.6.0.20/"
- openssl library
It must be installed to "/usr/local/ssl.1.1.1/"
- qrencode library
It must be installed to "/usr/local/"
2. Install dependencies(3rd Party)
If 3rd party library didn't install to pc, please install them one by one.
2.1 OpenSSL 1.1.1l 24 Aug 2021
Download Source: https://ftp.openssl.org/source/openssl-1.1.1l.tar.gz
- You download a tar file from download source url and go to the download folder.
- You extract tar file and install openssl library
ex:)
$ cd {openssl tar folder}
$ tar zxvf openssl-1.1.1l.tar.gz
$ cd openssl-1.1.1l
$ ./config --prefix=/usr/local/ssl.1.1.1 --openssldir=/usr/local/ssl.1.1.1 shared zlib
$ make
$ make install
2.2 Berkeley DB
Download Source: http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz
- You download a tar file from download source url and go to the download folder.
- You extract tar file and install Berkeley library
ex:)
$ cd {berkeley tar folder}
$ tar xvfz db-6.0.20.tar.gz
$ cd db-6.0.20/build_unix
$../dist/configure --prefix=/usr/local/berkeleydb.6.0.20 --enable-mingw --enable-cxx
or
$../dist/configure --prefix=/usr/local/berkeleydb.6.0.20 --enable-cxx --enable-dbm --enable-compat185
$make
2.3 Boost
Download Source: https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.tar.gz
https://www.boost.org/users/history/version_1_77_0.html
- Download either the zip or the 7z archive, unpack Boost to {your 3rd-party path}:, rename, then bootstrap and compile.
ex:)
$ cd {boost extracted folder}
$ ./bootstrap
$ b2 --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc cxxflags="-std=gnu++11" link=static threading=multi runtime-link=static stage
$ b2 install --prefix=/usr/local/boost.1.77.0
2.4 Miniupnpc
Download Source: http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.20150206.tar.gz
- Download from url and unpack it:
ex:)
$ cd miniupnpc-1.9.20150206
$ make init upnpc-static
$ make install
2.5 libpng
Download Source: http://prdownloads.sourceforge.net/libpng/libpng-1.6.37.tar.xz?download
- Download from url and install it:
ex:)
$ cd {libpng tar folder}
$ tar xvfz libpng-1.6.37.tar.gz
$ cd libpng-1.6.37
$ ./configure --disable-shared
$ make
$ cp .libs/libpng16.a .libs/libpng.a
2.6 qrencode
Download Source: http://sources.buildroot.net/libqrencode/qrencode-4.1.1.tar.gz
- Download from url and install it:
ex:)
$ cd {qrencode tar folder}
$ tar xvfz qrencode-4.1.1.tar.gz
$ cd qrencode-4.1.1
$ LIBS="../libpng-1.6.37/.libs/libpng.a {QT.Dir}/Tools/mingw530_32/i686-w64-mingw32/lib/libz.a" \
png_CFLAGS="-I../libpng-1.6.37" \
png_LIBS="-L../libpng-1.6.37/.libs" \
configure
$ make
3. Compile chesscoin-qt.exe with Qt 5.9.2
3.1 Qt 5.9.2 Install
Download Source: https://download.qt.io/archive/qt/5.9/5.9.2/qt-opensource-linux-x64-5.9.2.run
- You download Qt versin and Install with defaults.
3.2 Compile daemon with Qt 5.9.2
- Edit chesscoin-qt.pro
With a text editor, edit INCLUDEPATHS, LIBPATHS, and LIBS in your prject .pro according to your dependency versions and locations:
...
BOOST_LIB_SUFFIX=
BOOST_INCLUDE_PATH=/usr/local/boost.1.77.0/include
BOOST_LIB_PATH=/usr/local/boost.1.77.0/lib
BDB_INCLUDE_PATH=/usr/local/berkeleydb.6.0.20/include
BDB_LIB_PATH=/usr/local/berkeleydb.6.0.20/lib
OPENSSL_INCLUDE_PATH=/usr/local/ssl.1.1.1/include
OPENSSL_LIB_PATH=/usr/local/ssl.1.1.1/lib
QRENCODE_INCLUDE_PATH=/usr/local/include
QRENCODE_LIB_PATH=/usr/local/lib
...
contains(USE_UPNP, 1) {
message(Building with miniupnpc support)
INCLUDEPATHS += -I"/usr/include/miniupnpc"
MINIUPNPC_LIB_PATH=/usr/lib
LIBS += $$join(MINIUPNPC_LIB_PATH,,-L,) -lminiupnpc
win32:LIBS += -liphlpapi
DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP)
}
...
- Compile leveldb
$cd {project}/src/leveldb
$TARGET_OS=Linux make libleveldb.a libmemenv.a
- Compile chesscoind
$ cd {Project}/src
$ make -f makefile.unix
$ strip chesscoind