Skip to content

Commit bb58866

Browse files
committed
Merge #19331: build: Do not include server symbols in wallet
faca730 ci: Install fixed version of clang-format for linters (MarcoFalke) fa4695d build: Sort Makefile.am after renaming file (MarcoFalke) cccc278 scripted-diff: Move ui_interface to the node lib (MarcoFalke) fa72ca6 qt: Remove unused includes (MarcoFalke) fac96e6 wallet: Do not include server symbols (MarcoFalke) fa0f6c5 Revert "Fix link error with --enable-debug" (MarcoFalke) Pull request description: This reverts a hacky workaround from commit b83cc0f, which only happens to work due to compiler optimizations. Then, it actually fixes the linker error. The underlying problem is that the wallet includes symbols from the server (ui_interface), which usually results in linker failures. Though, in this specific case the linker failures have not been observed (unless `-O0`) because our compilers were smart enough to strip unused symbols. Fix the underlying problem by creating a new header-only with the needed symbol and move ui_interface to node to clarify that this is part of libbitcoin_server. ACKs for top commit: Sjors: ACK faca730 laanwj: ACK faca730 hebasto: re-ACK faca730, since the [previous](bitcoin/bitcoin#19331 (review)) review: Tree-SHA512: e9731f249425aaea50b6db5fc7622e10078cf006721bb87989cac190a2ff224412f6f8a7dd83efd018835302337611f5839e29e15bef366047ed591cef58dfb4
2 parents f6072e6 + faca730 commit bb58866

30 files changed

+62
-52
lines changed

ci/lint/04_install.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@
66

77
export LC_ALL=C
88

9+
travis_retry sudo apt update && sudo apt install -y clang-format-9
10+
sudo update-alternatives --install /usr/bin/clang-format clang-format $(which clang-format-9 ) 100
11+
sudo update-alternatives --install /usr/bin/clang-format-diff clang-format-diff $(which clang-format-diff-9) 100
12+
913
travis_retry pip3 install codespell==1.17.1
1014
travis_retry pip3 install flake8==3.8.3
1115
travis_retry pip3 install yq

src/Makefile.am

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,9 @@ BITCOIN_CORE_H = \
110110
banman.h \
111111
base58.h \
112112
bech32.h \
113-
bloom.h \
114113
blockencodings.h \
115114
blockfilter.h \
115+
bloom.h \
116116
chain.h \
117117
chainparams.h \
118118
chainparamsbase.h \
@@ -133,6 +133,7 @@ BITCOIN_CORE_H = \
133133
core_io.h \
134134
core_memusage.h \
135135
cuckoocache.h \
136+
dbwrapper.h \
136137
flatfile.h \
137138
fs.h \
138139
httprpc.h \
@@ -148,7 +149,6 @@ BITCOIN_CORE_H = \
148149
interfaces/wallet.h \
149150
key.h \
150151
key_io.h \
151-
dbwrapper.h \
152152
limitedmap.h \
153153
logging.h \
154154
logging/timer.h \
@@ -167,6 +167,7 @@ BITCOIN_CORE_H = \
167167
node/context.h \
168168
node/psbt.h \
169169
node/transaction.h \
170+
node/ui_interface.h \
170171
node/utxo_snapshot.h \
171172
noui.h \
172173
optional.h \
@@ -206,13 +207,12 @@ BITCOIN_CORE_H = \
206207
support/events.h \
207208
support/lockedpool.h \
208209
sync.h \
209-
threadsafety.h \
210210
threadinterrupt.h \
211+
threadsafety.h \
211212
timedata.h \
212213
torcontrol.h \
213214
txdb.h \
214215
txmempool.h \
215-
ui_interface.h \
216216
undo.h \
217217
util/asmap.h \
218218
util/bip32.h \
@@ -221,28 +221,29 @@ BITCOIN_CORE_H = \
221221
util/error.h \
222222
util/fees.h \
223223
util/golombrice.h \
224-
util/spanparsing.h \
225-
util/system.h \
226224
util/macros.h \
227225
util/memory.h \
228226
util/message.h \
229227
util/moneystr.h \
230228
util/rbf.h \
231229
util/ref.h \
232230
util/settings.h \
231+
util/spanparsing.h \
233232
util/string.h \
233+
util/system.h \
234234
util/threadnames.h \
235235
util/time.h \
236236
util/translation.h \
237+
util/ui_change_type.h \
237238
util/url.h \
238239
util/vector.h \
239240
validation.h \
240241
validationinterface.h \
241242
versionbits.h \
242243
versionbitsinfo.h \
243-
walletinitinterface.h \
244244
wallet/bdb.h \
245245
wallet/coincontrol.h \
246+
wallet/coinselection.h \
246247
wallet/context.h \
247248
wallet/crypter.h \
248249
wallet/db.h \
@@ -257,7 +258,7 @@ BITCOIN_CORE_H = \
257258
wallet/walletdb.h \
258259
wallet/wallettool.h \
259260
wallet/walletutil.h \
260-
wallet/coinselection.h \
261+
walletinitinterface.h \
261262
warnings.h \
262263
zmq/zmqabstractnotifier.h \
263264
zmq/zmqconfig.h\
@@ -286,16 +287,16 @@ libbitcoin_server_a_SOURCES = \
286287
blockfilter.cpp \
287288
chain.cpp \
288289
consensus/tx_verify.cpp \
290+
dbwrapper.cpp \
289291
flatfile.cpp \
290292
httprpc.cpp \
291293
httpserver.cpp \
292294
index/base.cpp \
293295
index/blockfilterindex.cpp \
294296
index/txindex.cpp \
297+
init.cpp \
295298
interfaces/chain.cpp \
296299
interfaces/node.cpp \
297-
init.cpp \
298-
dbwrapper.cpp \
299300
miner.cpp \
300301
net.cpp \
301302
net_processing.cpp \
@@ -304,6 +305,7 @@ libbitcoin_server_a_SOURCES = \
304305
node/context.cpp \
305306
node/psbt.cpp \
306307
node/transaction.cpp \
308+
node/ui_interface.cpp \
307309
noui.cpp \
308310
policy/fees.cpp \
309311
policy/rbf.cpp \
@@ -322,7 +324,6 @@ libbitcoin_server_a_SOURCES = \
322324
torcontrol.cpp \
323325
txdb.cpp \
324326
txmempool.cpp \
325-
ui_interface.cpp \
326327
validation.cpp \
327328
validationinterface.cpp \
328329
versionbits.cpp \

src/banman.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#include <banman.h>
77

88
#include <netaddress.h>
9-
#include <ui_interface.h>
9+
#include <node/ui_interface.h>
1010
#include <util/system.h>
1111
#include <util/time.h>
1212
#include <util/translation.h>

src/bitcoind.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
#include <init.h>
1414
#include <interfaces/chain.h>
1515
#include <node/context.h>
16+
#include <node/ui_interface.h>
1617
#include <noui.h>
1718
#include <shutdown.h>
18-
#include <ui_interface.h>
1919
#include <util/ref.h>
2020
#include <util/strencodings.h>
2121
#include <util/system.h>

src/httpserver.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
#include <chainparamsbase.h>
88
#include <compat.h>
99
#include <netbase.h>
10+
#include <node/ui_interface.h>
1011
#include <rpc/protocol.h> // For HTTP status codes
1112
#include <shutdown.h>
1213
#include <sync.h>
13-
#include <ui_interface.h>
1414
#include <util/strencodings.h>
1515
#include <util/system.h>
1616
#include <util/threadnames.h>

src/index/base.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
#include <chainparams.h>
66
#include <index/base.h>
7+
#include <node/ui_interface.h>
78
#include <shutdown.h>
89
#include <tinyformat.h>
9-
#include <ui_interface.h>
1010
#include <util/system.h>
1111
#include <util/translation.h>
1212
#include <validation.h>

src/index/txindex.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
44

55
#include <index/txindex.h>
6+
#include <node/ui_interface.h>
67
#include <shutdown.h>
7-
#include <ui_interface.h>
88
#include <util/system.h>
99
#include <util/translation.h>
1010
#include <validation.h>

src/init.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include <net_processing.h>
3232
#include <netbase.h>
3333
#include <node/context.h>
34+
#include <node/ui_interface.h>
3435
#include <policy/feerate.h>
3536
#include <policy/fees.h>
3637
#include <policy/policy.h>
@@ -48,7 +49,6 @@
4849
#include <torcontrol.h>
4950
#include <txdb.h>
5051
#include <txmempool.h>
51-
#include <ui_interface.h>
5252
#include <util/asmap.h>
5353
#include <util/moneystr.h>
5454
#include <util/string.h>

src/interfaces/chain.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <node/coin.h>
1414
#include <node/context.h>
1515
#include <node/transaction.h>
16+
#include <node/ui_interface.h>
1617
#include <policy/fees.h>
1718
#include <policy/policy.h>
1819
#include <policy/rbf.h>
@@ -25,7 +26,6 @@
2526
#include <sync.h>
2627
#include <timedata.h>
2728
#include <txmempool.h>
28-
#include <ui_interface.h>
2929
#include <uint256.h>
3030
#include <univalue.h>
3131
#include <util/system.h>

src/interfaces/node.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <netaddress.h>
1818
#include <netbase.h>
1919
#include <node/context.h>
20+
#include <node/ui_interface.h>
2021
#include <policy/feerate.h>
2122
#include <policy/fees.h>
2223
#include <policy/settings.h>
@@ -26,7 +27,6 @@
2627
#include <support/allocators/secure.h>
2728
#include <sync.h>
2829
#include <txmempool.h>
29-
#include <ui_interface.h>
3030
#include <util/ref.h>
3131
#include <util/system.h>
3232
#include <util/translation.h>

0 commit comments

Comments
 (0)