v29.4-roots.2 · Commit 1: [PATCH 01/21] build: port platform and dependency support
doc/build-unix.md
Before: doc/build-unix.md · After: doc/build-unix.md
File metadata
index 9696063cd1d36f79d25fca8c4ce1a84153982075..c4b8e91e83bbe3d3b10980592c8c49ce06a22fa3 100644
Download original patch · Release notes
Diff rows 1–70 of 70. Line numbers refer to the original before/after files.
+ Added− RemovedUnmarked lines are context.
Scroll the code area horizontally to read long lines. The two line-number columns refer to before and after.
doc/build-unix.md
CHANGED
|
@@ -64,6 +64,10 @@ executables, which are based on BerkeleyDB 4.8. Otherwise, you can build Berkele
|
|
|
64
64
|
|
|
65
65
|
To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
|
|
66
66
|
|
|
67
|
+
Optional port mapping library (see: `-DWITH_MINIUPNPC=ON`):
|
|
68
|
+
|
|
69
|
+
sudo apt install libminiupnpc-dev
|
|
70
|
+
|
|
67
71
|
ZMQ-enabled binaries are compiled with `-DWITH_ZMQ=ON` and require the following dependency:
|
|
68
72
|
|
|
69
73
|
sudo apt-get install libzmq3-dev
|
|
@@ -75,9 +79,10 @@ User-Space, Statically Defined Tracing (USDT) dependencies:
|
|
|
75
79
|
GUI dependencies:
|
|
76
80
|
|
|
77
81
|
Bitcoin Core includes a GUI built with the cross-platform Qt Framework. To compile the GUI, we need to install
|
|
78
|
-
the necessary parts of Qt, the libqrencode and pass `-DBUILD_GUI=ON`. Skip if you don't intend to use the GUI.
|
|
82
|
+
the necessary parts of Qt and some image processing tools, and pass `-DBUILD_GUI=ON` to cmake.
|
|
83
|
+
Skip if you don't intend to use the GUI.
|
|
79
84
|
|
|
80
|
-
sudo apt-get install qtbase5-dev qttools5-dev qttools5-dev-tools
|
|
85
|
+
sudo apt-get install qtbase5-dev qttools5-dev qttools5-dev-tools librsvg2-bin imagemagick
|
|
81
86
|
|
|
82
87
|
Additionally, to support Wayland protocol for modern desktop environments:
|
|
83
88
|
|
|
@@ -89,6 +94,8 @@ The GUI will be able to encode addresses in QR codes unless this feature is expl
|
|
|
89
94
|
|
|
90
95
|
Otherwise, if you don't need QR encoding support, use the `-DWITH_QRENCODE=OFF` option to disable this feature in order to compile the GUI.
|
|
91
96
|
|
|
97
|
+
Note: You can also build with Qt 6 (instead of Qt 5) by passing `-DWITH_QT_VERSION=6` to cmake.
|
|
98
|
+
|
|
92
99
|
|
|
93
100
|
### Fedora
|
|
94
101
|
|
|
@@ -112,6 +119,10 @@ are based on Berkeley DB 4.8. Otherwise, you can build Berkeley DB [yourself](#b
|
|
|
112
119
|
|
|
113
120
|
To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
|
|
114
121
|
|
|
122
|
+
Optional port mapping library (see: `-DWITH_MINIUPNPC=ON`):
|
|
123
|
+
|
|
124
|
+
sudo dnf install miniupnpc-devel
|
|
125
|
+
|
|
115
126
|
ZMQ-enabled binaries are compiled with `-DWITH_ZMQ=ON` and require the following dependency:
|
|
116
127
|
|
|
117
128
|
sudo dnf install zeromq-devel
|
|
@@ -123,9 +134,10 @@ User-Space, Statically Defined Tracing (USDT) dependencies:
|
|
|
123
134
|
GUI dependencies:
|
|
124
135
|
|
|
125
136
|
Bitcoin Core includes a GUI built with the cross-platform Qt Framework. To compile the GUI, we need to install
|
|
126
|
-
the necessary parts of Qt, the libqrencode and pass `-DBUILD_GUI=ON`. Skip if you don't intend to use the GUI.
|
|
137
|
+
the necessary parts of Qt and some image processing tools, and pass `-DBUILD_GUI=ON` to cmake.
|
|
138
|
+
Skip if you don't intend to use the GUI.
|
|
127
139
|
|
|
128
|
-
sudo dnf install qt5-qttools-devel qt5-qtbase-devel
|
|
140
|
+
sudo dnf install qt5-qttools-devel qt5-qtbase-devel librsvg2-tools ImageMagick
|
|
129
141
|
|
|
130
142
|
Additionally, to support Wayland protocol for modern desktop environments:
|
|
131
143
|
|
|
@@ -149,7 +161,7 @@ The legacy wallet uses Berkeley DB. To ensure backwards compatibility it is
|
|
|
149
161
|
recommended to use Berkeley DB 4.8. If you have to build it yourself, and don't
|
|
150
162
|
want to use any other libraries built in depends, you can do:
|
|
151
163
|
```bash
|
|
152
|
-
make -C depends NO_BOOST=1 NO_LIBEVENT=1 NO_QT=1 NO_SQLITE=1 NO_ZMQ=1 NO_USDT=1
|
|
164
|
+
make -C depends NO_BOOST=1 NO_LIBEVENT=1 NO_QT=1 NO_SQLITE=1 NO_UPNP=1 NO_ZMQ=1 NO_USDT=1
|
|
153
165
|
...
|
|
154
166
|
to: /path/to/bitcoin/depends/x86_64-pc-linux-gnu
|
|
155
167
|
```
|
|
@@ -179,8 +191,8 @@ Setup and Build Example: Arch Linux
|
|
|
179
191
|
-----------------------------------
|
|
180
192
|
This example lists the steps necessary to setup and build a command line only distribution of the latest changes on Arch Linux:
|
|
181
193
|
|
|
182
|
-
pacman --sync --needed cmake boost gcc git libevent make python sqlite
|
|
183
|
-
git clone https://github.com/bitcoin/bitcoin.git
|
|
194
|
+
pacman --sync --needed cmake boost gcc git libevent make python sqlite librsvg imagemagick
|
|
195
|
+
git clone https://github.com/luganoplanb/bitcoin-roots.git
|
|
184
196
|
cd bitcoin/
|
|
185
197
|
cmake -B build
|
|
186
198
|
cmake --build build
|