hebasto / bitcoin Goto Github PK
View Code? Open in Web Editor NEWThis project forked from bitcoin/bitcoin
Bitcoin Core integration/staging tree
Home Page: https://bitcoincore.org/en/download
License: MIT License
This project forked from bitcoin/bitcoin
Bitcoin Core integration/staging tree
Home Page: https://bitcoincore.org/en/download
License: MIT License
The Qt5 was installed as follows:
$ sudo pkg install qt5
As a workaround, the Qt5_DIR
variable can be provided:
$ cmake -B build -DBUILD_GUI=ON -DQt5_DIR=/usr/lib/qt/5.15/lib/amd64/cmake/Qt5
I forgot to specify the build dir for cmake (i.e. cmake -DBUILD_BENCH=ON
instead of cmake -B build -DBUILD_BENCH=ON
) and got the following error
CMake Error at test/CMakeLists.txt:46 (file):
file CREATE_LINK cannot use same file and newfile
If you think it makes sense, could we display a more useful error when build dir isn't specified?
If it doesn't, feel free to close it without explanation.
cmake version 3.30.0
Testing 240704-cmake-GU @ bbb73b5:
cmake -B build
-- Found Threads: TRUE
CMake Warning (dev) at cmake/module/AddBoostIfNeeded.cmake:21 (find_package):
Policy CMP0167 is not set: The FindBoost module is removed. Run "cmake
--help-policy CMP0167" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
Call Stack (most recent call first):
CMakeLists.txt:383 (add_boost_if_needed)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found Boost: /opt/homebrew/include (found suitable version "1.85.0", minimum required is "1.73.0")
Note: This also affects libsecp256k1, where I noticed it. The summary is similar there, which is a good thing. Reporting here to get more feedback.
Here's a snippet of a build summary from libsecp256k1 (from bitcoin-core/secp256k1#1532 / f55703ba49454fc46226f4846fe292d4a3dfa3ef):
Preprocessor defined macros ........... ENABLE_MODULE_ELLSWIFT=1 ENABLE_MODULE_SCHNORRSIG=1 ENABLE_MODULE_EXTRAKEYS=1 ENABLE_MODULE_RECOVERY=1 ENABLE_MODULE_ECDH=1 ECMULT_WINDOW_SIZE=15 COMB_BLOCKS=11 COMB_TEETH=6 USE_ASM_X86_64=1 VALGRIND
C compiler ............................ Clang 17.0.6, /usr/lib/ccache/bin/clang
CFLAGS ................................ -fsanitize=memory -O2
Compile options ....................... -pedantic -Wall -Wcast-align -Wconditional-uninitialized -Wextra -Wnested-externs -Wno-long-long -Wno-overlength-strings -Wno-unused-function -Wreserved-identifier -Wshadow -Wstrict-prototypes -Wundef -fno-sanitize-memory-param-retval
Build type:
- CMAKE_BUILD_TYPE ................... RelWithDebInfo
- CFLAGS ............................. -O2 -g
- LDFLAGS for executables ............
- LDFLAGS for shared libraries .......
I think, the entries are a bit confusing, both for people unfamiliar with CMake, but also even for people who know about CMake's internals:
I'm not sure what the best way is to resolve this, but I'm thinking something like this, i.e., have textual descriptions for the "normal" dev and perhaps also CMake's internal names for build system experts (not sure if that's too much):
CPPFLAGS for the main source directory (COMPILE_DEFINITIONS) .....
CFLAGS applied globally (CMAKE_C_FLAGS) .....
CFLAGS for the main source directory (COMPILE_OPTIONS) .....
CFLAGS implied by the build type .....
This is just a sketch, it can certainly be improved a lot, and some bike-shedding will be necessary. And note that I know a bit about CMake, but I'm certainly not an expert, so I'm not exactly sure if my interpretation is even correct.
Ideally, the listing of flag variables would be in the same order as they'll appear on the final compiler command line. Not sure if this is even possible considering all special cases, etc, but it will be good as a rule of thumb.
It seems that since these were introduced, what they contain has changed / is still changing, and it's not really clear what the distinction between these two interfaces is. It'd be good if what is meant to exist in each was clarified, and then we could give then meaningful names (and it'd be clear where new flags/things should go).
Ventura 13.5 (22G74)
Cmake version 3.29.0
cmake .
Ventura 13.6.6 (22G630)
CMake version 3.27.4
cmake .
I know this isn't correct - but I was able to bypass the issue by appending a commit hash to the copied folder names. (off the cuff fix)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 904248a715..217d66c7bd 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -32,15 +32,22 @@ endfunction()
create_test_config()
-file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/functional)
-file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/fuzz)
-file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/util)
+file(MAKE_DIRECTORY ${PROJECT_SOURCE_DIR}/test/functional)
+file(MAKE_DIRECTORY ${PROJECT_SOURCE_DIR}/test/fuzz)
+file(MAKE_DIRECTORY ${PROJECT_SOURCE_DIR}/test/util)
function(create_test_script script)
+
+execute_process(COMMAND git rev-parse --short HEAD
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ OUTPUT_VARIABLE COMMIT_ID
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+)
+
if(MSVC)
- file(CREATE_LINK ${CMAKE_CURRENT_SOURCE_DIR}/${script} ${CMAKE_CURRENT_BINARY_DIR}/${script} COPY_ON_ERROR)
+ file(CREATE_LINK ${PROJECT_SOURCE_DIR}/test/${script} test/${COMMIT_ID}-${script} COPY_ON_ERROR)
else()
- file(CREATE_LINK ${CMAKE_CURRENT_SOURCE_DIR}/${script} ${CMAKE_CURRENT_BINARY_DIR}/${script} COPY_ON_ERROR SYMBOLIC)
+ file(CREATE_LINK ${PROJECT_SOURCE_DIR}/test/${script} test/${COMMIT_ID}-${script} COPY_ON_ERROR SYMBOLIC)
endif()
endfunction()
Compiled from source
cmake-staging
macOS - ventura - intel and arm64
No response
There is demand for this feature to continue to exist, i.e bitcoin#30189 (comment), so we should have the ability to do a CMake build, exposing all external warnings, from dependencies etc.
bitcoin/cmake/introspection.cmake
Lines 230 to 231 in d3a10e6
Looks like these don't allow overriding/take into account user flags? i.e If I configure with -DCMAKE_CXX_FLAGS_RELEASE="-march=armv8-a+nocrypto"
, I'd expect the ARM SHA-NI check to fail, but it doesn't. Also doesn't seem to work with APPEND_CXXFLAGS
, which should always be (globally) taken into account?
Originally posted in bitcoin#30454 (comment).
All build options effectively are cache variables, whose values persist across multiple runs within a project build tree.
From the Professional CMake: A Practical Guide 18th Edition:
Cache variables are primarily intended as a customization point for developers.
The current (@ 9857482) build option set being presented in the CMake GUI tool looks as follows:
Please note that selecting the "Grouped" checkbox groups variables together based on the start of the variable name up to the first underscore. CMake reserves names that begin with CMAKE_
.
BUILD_*
options is presented in the "Executables" and "Tests" sections of the "Configure summary".Please note, that CMake's CTest module:
automatically creates a
BUILD_TESTING
option...
WITH_*
options is presented in the "Wallet support" and "Optional However, the MULTIPROCESS
option has no WITH_
prefix.
SECP256K1_*
names.This issue aims to gather suggestions and opinions regarding better naming. Please vote for each suggestion using ๐ for approval and ๐ for disapproval.
Is this intentional?
autotools:
[init] [wallet/init.cpp:129] [Construct] Wallet disabled!
[init] [wallet/init.cpp:129] [Construct] Wallet disabled!
[init] [D:\a\bitcoin-core-with-ci\bitcoin-core-with-ci\src\wallet\init.cpp:129] [Construct] Wallet disabled!
Cmake:
[init] [/home/runner/work/_temp/src/wallet/init.cpp:129] [Construct] Wallet disabled!
[init] [/Users/runner/work/bitcoin-core-with-ci/bitcoin-core-with-ci/src/wallet/init.cpp:129] [Construct] Wallet disabled!
[init] [D:\a\bitcoin-core-with-ci\bitcoin-core-with-ci\src\wallet\init.cpp:129] [Construct] Wallet disabled!
The CMake staging branch has been submitted to the main repository in bitcoin#30454.
@fanquake suggested offline:
Also seems like there's quite a few changes that could have been split out up front?
Therefore, this issue aims to track such upfronted PRs, which are as follows:
Performing tests on PR #54 cross-built the binaries for Windows on WSL with Ubuntu 22.04, due to 2 ctest
s failing and following suggestion from @hebasto to check cmake-staging
I see the same tests are also failing on this cmake
base branch:
The following tests FAILED:
3 - bench_sanity_check_high_priority (Failed)
87 - streams_tests:streams_tests.cpp (Failed)
Errors while running CTest
ctest -j $(nproc)
Test project /home/ubunpolk/src/bitcoin-hebasto/build
Start 1: util_test_runner
Start 2: util_rpcauth_test
Start 3: bench_sanity_check_high_priority
Start 4: addrman_tests:addrman_tests.cpp
Start 5: allocator_tests:allocator_tests.cpp
Start 6: amount_tests:amount_tests.cpp
Start 7: argsman_tests:argsman_tests.cpp
Start 8: arith_uint256_tests:arith_uint256_tests.cpp
Start 9: banman_tests:banman_tests.cpp
Start 10: base32_tests:base32_tests.cpp
Start 11: base58_tests:base58_tests.cpp
Start 12: base64_tests:base64_tests.cpp
Start 13: bech32_tests:bech32_tests.cpp
Start 14: bip32_tests:bip32_tests.cpp
Start 15: bip324_tests:bip324_tests.cpp
Start 16: blockchain_tests:blockchain_tests.cpp
1/125 Test #2: util_rpcauth_test ........................................................... Passed 0.05 sec
Start 17: blockencodings_tests:blockencodings_tests.cpp
2/125 Test #5: allocator_tests:allocator_tests.cpp ......................................... Passed 1.93 sec
Start 18: blockfilter_index_tests:blockfilter_index_tests.cpp
3/125 Test #6: amount_tests:amount_tests.cpp ............................................... Passed 1.93 sec
Start 19: blockfilter_tests:blockfilter_tests.cpp
4/125 Test #8: arith_uint256_tests:arith_uint256_tests.cpp ................................. Passed 1.93 sec
Start 20: blockmanager_tests:blockmanager_tests.cpp
5/125 Test #12: base64_tests:base64_tests.cpp ............................................... Passed 1.93 sec
Start 21: bloom_tests:bloom_tests.cpp
6/125 Test #9: banman_tests:banman_tests.cpp ............................................... Passed 1.94 sec
Start 22: bswap_tests:bswap_tests.cpp
7/125 Test #10: base32_tests:base32_tests.cpp ............................................... Passed 1.94 sec
Start 23: checkqueue_tests:checkqueue_tests.cpp
8/125 Test #16: blockchain_tests:blockchain_tests.cpp ....................................... Passed 2.02 sec
Start 24: coins_tests:coins_tests.cpp
9/125 Test #13: bech32_tests:bech32_tests.cpp ............................................... Passed 2.06 sec
Start 25: coinstatsindex_tests:coinstatsindex_tests.cpp
10/125 Test #14: bip32_tests:bip32_tests.cpp ................................................. Passed 2.07 sec
Start 26: compilerbug_tests:compilerbug_tests.cpp
11/125 Test #11: base58_tests:base58_tests.cpp ............................................... Passed 2.20 sec
Start 27: compress_tests:compress_tests.cpp
12/125 Test #17: blockencodings_tests:blockencodings_tests.cpp ............................... Passed 2.17 sec
Start 28: crypto_tests:crypto_tests.cpp
13/125 Test #4: addrman_tests:addrman_tests.cpp ............................................. Passed 2.47 sec
Start 29: cuckoocache_tests:cuckoocache_tests.cpp
14/125 Test #3: bench_sanity_check_high_priority ............................................***Failed 2.68 sec
Start 30: dbwrapper_tests:dbwrapper_tests.cpp
15/125 Test #15: bip324_tests:bip324_tests.cpp ............................................... Passed 2.74 sec
Start 31: denialofservice_tests:denialofservice_tests.cpp
16/125 Test #19: blockfilter_tests:blockfilter_tests.cpp ..................................... Passed 1.48 sec
Start 32: descriptor_tests:descriptor_tests.cpp
17/125 Test #21: bloom_tests:bloom_tests.cpp ................................................. Passed 1.48 sec
Start 33: disconnected_transactions:disconnected_transactions.cpp
18/125 Test #22: bswap_tests:bswap_tests.cpp ................................................. Passed 1.51 sec
Start 34: flatfile_tests:flatfile_tests.cpp
19/125 Test #26: compilerbug_tests:compilerbug_tests.cpp ..................................... Passed 1.68 sec
Start 35: fs_tests:fs_tests.cpp
20/125 Test #27: compress_tests:compress_tests.cpp ........................................... Passed 1.85 sec
Start 36: getarg_tests:getarg_tests.cpp
21/125 Test #31: denialofservice_tests:denialofservice_tests.cpp ............................. Passed 1.56 sec
Start 37: hash_tests:hash_tests.cpp
22/125 Test #7: argsman_tests:argsman_tests.cpp ............................................. Passed 4.48 sec
Start 38: headers_sync_chainwork_tests:headers_sync_chainwork_tests.cpp
23/125 Test #30: dbwrapper_tests:dbwrapper_tests.cpp ......................................... Passed 1.81 sec
Start 39: httpserver_tests:httpserver_tests.cpp
24/125 Test #34: flatfile_tests:flatfile_tests.cpp ........................................... Passed 1.42 sec
Start 40: i2p_tests:i2p_tests.cpp
25/125 Test #29: cuckoocache_tests:cuckoocache_tests.cpp ..................................... Passed 2.76 sec
Start 41: interfaces_tests:interfaces_tests.cpp
26/125 Test #35: fs_tests:fs_tests.cpp ....................................................... Passed 1.48 sec
Start 42: key_io_tests:key_io_tests.cpp
27/125 Test #32: descriptor_tests:descriptor_tests.cpp ....................................... Passed 2.18 sec
Start 43: key_tests:key_tests.cpp
28/125 Test #36: getarg_tests:getarg_tests.cpp ............................................... Passed 1.67 sec
Start 44: logging_tests:logging_tests.cpp
29/125 Test #37: hash_tests:hash_tests.cpp ................................................... Passed 1.49 sec
Start 45: mempool_tests:mempool_tests.cpp
30/125 Test #39: httpserver_tests:httpserver_tests.cpp ....................................... Passed 1.64 sec
Start 46: merkle_tests:merkle_tests.cpp
31/125 Test #38: headers_sync_chainwork_tests:headers_sync_chainwork_tests.cpp ............... Passed 1.83 sec
Start 47: merkleblock_tests:merkleblock_tests.cpp
32/125 Test #40: i2p_tests:i2p_tests.cpp ..................................................... Passed 1.55 sec
Start 48: miner_tests:miner_tests.cpp
33/125 Test #42: key_io_tests:key_io_tests.cpp ............................................... Passed 1.43 sec
Start 49: miniminer_tests:miniminer_tests.cpp
34/125 Test #33: disconnected_transactions:disconnected_transactions.cpp ..................... Passed 3.78 sec
Start 50: miniscript_tests:miniscript_tests.cpp
35/125 Test #43: key_tests:key_tests.cpp ..................................................... Passed 1.63 sec
Start 51: minisketch_tests:minisketch_tests.cpp
36/125 Test #44: logging_tests:logging_tests.cpp ............................................. Passed 1.61 sec
Start 52: multisig_tests:multisig_tests.cpp
37/125 Test #28: crypto_tests:crypto_tests.cpp ............................................... Passed 5.17 sec
Start 53: net_peer_connection_tests:net_peer_connection_tests.cpp
38/125 Test #45: mempool_tests:mempool_tests.cpp ............................................. Passed 1.60 sec
Start 54: net_peer_eviction_tests:net_peer_eviction_tests.cpp
39/125 Test #47: merkleblock_tests:merkleblock_tests.cpp ..................................... Passed 1.50 sec
Start 55: net_tests:net_tests.cpp
40/125 Test #23: checkqueue_tests:checkqueue_tests.cpp ....................................... Passed 6.20 sec
Start 56: netbase_tests:netbase_tests.cpp
41/125 Test #20: blockmanager_tests:blockmanager_tests.cpp ................................... Passed 6.69 sec
Start 57: orphanage_tests:orphanage_tests.cpp
42/125 Test #53: net_peer_connection_tests:net_peer_connection_tests.cpp ..................... Passed 1.28 sec
Start 58: pmt_tests:pmt_tests.cpp
43/125 Test #52: multisig_tests:multisig_tests.cpp ........................................... Passed 1.35 sec
Start 59: policy_fee_tests:policy_fee_tests.cpp
44/125 Test #18: blockfilter_index_tests:blockfilter_index_tests.cpp ......................... Passed 6.85 sec
Start 60: policyestimator_tests:policyestimator_tests.cpp
45/125 Test #46: merkle_tests:merkle_tests.cpp ............................................... Passed 2.67 sec
Start 61: pool_tests:pool_tests.cpp
46/125 Test #51: minisketch_tests:minisketch_tests.cpp ....................................... Passed 1.57 sec
Start 62: pow_tests:pow_tests.cpp
47/125 Test #54: net_peer_eviction_tests:net_peer_eviction_tests.cpp ......................... Passed 1.73 sec
Start 63: prevector_tests:prevector_tests.cpp
48/125 Test #56: netbase_tests:netbase_tests.cpp ............................................. Passed 1.48 sec
Start 64: raii_event_tests:raii_event_tests.cpp
49/125 Test #59: policy_fee_tests:policy_fee_tests.cpp ....................................... Passed 1.37 sec
Start 65: random_tests:random_tests.cpp
50/125 Test #57: orphanage_tests:orphanage_tests.cpp ......................................... Passed 1.66 sec
Start 66: rbf_tests:rbf_tests.cpp
51/125 Test #61: pool_tests:pool_tests.cpp ................................................... Passed 1.55 sec
Start 67: rest_tests:rest_tests.cpp
52/125 Test #62: pow_tests:pow_tests.cpp ..................................................... Passed 1.81 sec
Start 68: result_tests:result_tests.cpp
53/125 Test #60: policyestimator_tests:policyestimator_tests.cpp ............................. Passed 2.10 sec
Start 69: reverselock_tests:reverselock_tests.cpp
54/125 Test #58: pmt_tests:pmt_tests.cpp ..................................................... Passed 2.25 sec
Start 70: rpc_tests:rpc_tests.cpp
55/125 Test #64: raii_event_tests:raii_event_tests.cpp ....................................... Passed 1.51 sec
Start 71: sanity_tests:sanity_tests.cpp
56/125 Test #25: coinstatsindex_tests:coinstatsindex_tests.cpp ............................... Passed 9.39 sec
Start 72: scheduler_tests:scheduler_tests.cpp
57/125 Test #63: prevector_tests:prevector_tests.cpp ......................................... Passed 2.36 sec
Start 73: script_p2sh_tests:script_p2sh_tests.cpp
58/125 Test #67: rest_tests:rest_tests.cpp ................................................... Passed 1.34 sec
Start 74: script_parse_tests:script_parse_tests.cpp
59/125 Test #65: random_tests:random_tests.cpp ............................................... Passed 1.74 sec
Start 75: script_segwit_tests:script_segwit_tests.cpp
60/125 Test #50: miniscript_tests:miniscript_tests.cpp ....................................... Passed 4.63 sec
Start 76: script_standard_tests:script_standard_tests.cpp
61/125 Test #68: result_tests:result_tests.cpp ............................................... Passed 1.56 sec
Start 77: script_tests:script_tests.cpp
62/125 Test #69: reverselock_tests:reverselock_tests.cpp ..................................... Passed 1.43 sec
Start 78: scriptnum_tests:scriptnum_tests.cpp
63/125 Test #71: sanity_tests:sanity_tests.cpp ............................................... Passed 1.60 sec
Start 79: serfloat_tests:serfloat_tests.cpp
64/125 Test #70: rpc_tests:rpc_tests.cpp ..................................................... Passed 1.86 sec
Start 80: serialize_tests:serialize_tests.cpp
65/125 Test #73: script_p2sh_tests:script_p2sh_tests.cpp ..................................... Passed 1.45 sec
Start 81: settings_tests:settings_tests.cpp
66/125 Test #72: scheduler_tests:scheduler_tests.cpp ......................................... Passed 1.50 sec
Start 82: sighash_tests:sighash_tests.cpp
67/125 Test #74: script_parse_tests:script_parse_tests.cpp ................................... Passed 1.54 sec
Start 83: sigopcount_tests:sigopcount_tests.cpp
68/125 Test #76: script_standard_tests:script_standard_tests.cpp ............................. Passed 1.45 sec
Start 84: skiplist_tests:skiplist_tests.cpp
69/125 Test #75: script_segwit_tests:script_segwit_tests.cpp ................................. Passed 1.53 sec
Start 85: sock_tests:sock_tests.cpp
70/125 Test #55: net_tests:net_tests.cpp ..................................................... Passed 5.69 sec
Start 86: span_tests:span_tests.cpp
71/125 Test #78: scriptnum_tests:scriptnum_tests.cpp ......................................... Passed 1.45 sec
Start 87: streams_tests:streams_tests.cpp
72/125 Test #48: miner_tests:miner_tests.cpp ................................................. Passed 7.38 sec
Start 88: sync_tests:sync_tests.cpp
73/125 Test #66: rbf_tests:rbf_tests.cpp ..................................................... Passed 3.81 sec
Start 89: system_tests:system_tests.cpp
74/125 Test #81: settings_tests:settings_tests.cpp ........................................... Passed 1.50 sec
Start 90: timedata_tests:timedata_tests.cpp
75/125 Test #80: serialize_tests:serialize_tests.cpp ......................................... Passed 1.77 sec
Start 91: torcontrol_tests:torcontrol_tests.cpp
76/125 Test #86: span_tests:span_tests.cpp ................................................... Passed 1.38 sec
Start 92: transaction_tests:transaction_tests.cpp
77/125 Test #83: sigopcount_tests:sigopcount_tests.cpp ....................................... Passed 1.68 sec
Start 93: translation_tests:translation_tests.cpp
78/125 Test #85: sock_tests:sock_tests.cpp ................................................... Passed 1.59 sec
Start 94: txindex_tests:txindex_tests.cpp
79/125 Test #77: script_tests:script_tests.cpp ............................................... Passed 2.96 sec
Start 95: txpackage_tests:txpackage_tests.cpp
80/125 Test #82: sighash_tests:sighash_tests.cpp ............................................. Passed 2.43 sec
Start 96: txreconciliation_tests:txreconciliation_tests.cpp
81/125 Test #84: skiplist_tests:skiplist_tests.cpp ........................................... Passed 2.14 sec
Start 97: txrequest_tests:txrequest_tests.cpp
82/125 Test #89: system_tests:system_tests.cpp ............................................... Passed 1.34 sec
Start 98: txvalidation_tests:txvalidation_tests.cpp
83/125 Test #88: sync_tests:sync_tests.cpp ................................................... Passed 1.67 sec
Start 99: txvalidationcache_tests:txvalidationcache_tests.cpp
84/125 Test #87: streams_tests:streams_tests.cpp .............................................***Failed 1.74 sec
Start 100: uint256_tests:uint256_tests.cpp
85/125 Test #79: serfloat_tests:serfloat_tests.cpp ........................................... Passed 2.83 sec
Start 101: util_tests:util_tests.cpp
86/125 Test #91: torcontrol_tests:torcontrol_tests.cpp ....................................... Passed 1.37 sec
Start 102: util_threadnames_tests:util_threadnames_tests.cpp
87/125 Test #90: timedata_tests:timedata_tests.cpp ........................................... Passed 1.55 sec
Start 103: validation_block_tests:validation_block_tests.cpp
88/125 Test #93: translation_tests:translation_tests.cpp ..................................... Passed 1.59 sec
Start 104: validation_chainstate_tests:validation_chainstate_tests.cpp
89/125 Test #100: uint256_tests:uint256_tests.cpp ............................................. Passed 1.49 sec
Start 105: validation_chainstatemanager_tests:validation_chainstatemanager_tests.cpp
90/125 Test #96: txreconciliation_tests:txreconciliation_tests.cpp ........................... Passed 1.67 sec
Start 106: validation_flush_tests:validation_flush_tests.cpp
91/125 Test #101: util_tests:util_tests.cpp ................................................... Passed 1.86 sec
Start 107: validation_tests:validation_tests.cpp
92/125 Test #102: util_threadnames_tests:util_threadnames_tests.cpp ........................... Passed 1.60 sec
Start 108: validationinterface_tests:validationinterface_tests.cpp
93/125 Test #106: validation_flush_tests:validation_flush_tests.cpp ........................... Passed 1.54 sec
Start 109: versionbits_tests:versionbits_tests.cpp
94/125 Test #107: validation_tests:validation_tests.cpp ....................................... Passed 1.68 sec
Start 110: xoroshiro128plusplus_tests:xoroshiro128plusplus_tests.cpp
95/125 Test #108: validationinterface_tests:validationinterface_tests.cpp ..................... Passed 1.65 sec
Start 111: coinselector_tests:../wallet/test/coinselector_tests.cpp
96/125 Test #97: txrequest_tests:txrequest_tests.cpp ......................................... Passed 4.89 sec
Start 112: feebumper_tests:../wallet/test/feebumper_tests.cpp
97/125 Test #24: coins_tests:coins_tests.cpp ................................................. Passed 18.35 sec
Start 113: group_outputs_tests:../wallet/test/group_outputs_tests.cpp
98/125 Test #94: txindex_tests:txindex_tests.cpp ............................................. Passed 5.65 sec
Start 114: init_tests:../wallet/test/init_tests.cpp
99/125 Test #110: xoroshiro128plusplus_tests:xoroshiro128plusplus_tests.cpp ................... Passed 1.51 sec
Start 115: ismine_tests:../wallet/test/ismine_tests.cpp
100/125 Test #98: txvalidation_tests:txvalidation_tests.cpp ................................... Passed 5.31 sec
Start 116: psbt_wallet_tests:../wallet/test/psbt_wallet_tests.cpp
101/125 Test #112: feebumper_tests:../wallet/test/feebumper_tests.cpp .......................... Passed 1.51 sec
Start 117: wallet_util_tests:../wallet/test/rpc_util_tests.cpp
102/125 Test #115: ismine_tests:../wallet/test/ismine_tests.cpp ................................ Passed 1.50 sec
Start 118: scriptpubkeyman_tests:../wallet/test/scriptpubkeyman_tests.cpp
103/125 Test #104: validation_chainstate_tests:validation_chainstate_tests.cpp ................. Passed 5.73 sec
Start 119: spend_tests:../wallet/test/spend_tests.cpp
104/125 Test #114: init_tests:../wallet/test/init_tests.cpp .................................... Passed 1.77 sec
Start 120: wallet_crypto_tests:../wallet/test/wallet_crypto_tests.cpp
105/125 Test #116: psbt_wallet_tests:../wallet/test/psbt_wallet_tests.cpp ...................... Passed 1.99 sec
Start 121: wallet_tests:../wallet/test/wallet_tests.cpp
106/125 Test #49: miniminer_tests:miniminer_tests.cpp ......................................... Passed 16.08 sec
Start 122: wallet_transaction_tests:../wallet/test/wallet_transaction_tests.cpp
107/125 Test #109: versionbits_tests:versionbits_tests.cpp ..................................... Passed 4.38 sec
Start 123: walletdb_tests:../wallet/test/walletdb_tests.cpp
108/125 Test #113: group_outputs_tests:../wallet/test/group_outputs_tests.cpp .................. Passed 2.74 sec
Start 124: walletload_tests:../wallet/test/walletload_tests.cpp
109/125 Test #117: wallet_util_tests:../wallet/test/rpc_util_tests.cpp ......................... Passed 1.47 sec
Start 125: db_tests:../wallet/test/db_tests.cpp
110/125 Test #118: scriptpubkeyman_tests:../wallet/test/scriptpubkeyman_tests.cpp .............. Passed 1.68 sec
111/125 Test #122: wallet_transaction_tests:../wallet/test/wallet_transaction_tests.cpp ........ Passed 1.54 sec
112/125 Test #41: interfaces_tests:interfaces_tests.cpp ....................................... Passed 19.15 sec
113/125 Test #99: txvalidationcache_tests:txvalidationcache_tests.cpp ......................... Passed 9.94 sec
114/125 Test #123: walletdb_tests:../wallet/test/walletdb_tests.cpp ............................ Passed 2.64 sec
115/125 Test #125: db_tests:../wallet/test/db_tests.cpp ........................................ Passed 2.73 sec
116/125 Test #120: wallet_crypto_tests:../wallet/test/wallet_crypto_tests.cpp .................. Passed 3.87 sec
117/125 Test #92: transaction_tests:transaction_tests.cpp ..................................... Passed 12.48 sec
118/125 Test #124: walletload_tests:../wallet/test/walletload_tests.cpp ........................ Passed 4.78 sec
119/125 Test #119: spend_tests:../wallet/test/spend_tests.cpp .................................. Passed 8.93 sec
120/125 Test #95: txpackage_tests:txpackage_tests.cpp ......................................... Passed 19.15 sec
121/125 Test #111: coinselector_tests:../wallet/test/coinselector_tests.cpp .................... Passed 18.86 sec
122/125 Test #103: validation_block_tests:validation_block_tests.cpp ........................... Passed 35.70 sec
123/125 Test #105: validation_chainstatemanager_tests:validation_chainstatemanager_tests.cpp ... Passed 36.14 sec
124/125 Test #121: wallet_tests:../wallet/test/wallet_tests.cpp ................................ Passed 31.10 sec
125/125 Test #1: util_test_runner ............................................................ Passed 59.47 sec
98% tests passed, 2 tests failed out of 125
Total Test time (real) = 59.47 sec
The following tests FAILED:
3 - bench_sanity_check_high_priority (Failed)
87 - streams_tests:streams_tests.cpp (Failed)
Errors while running CTest
Output from these tests are in: /home/ubunpolk/src/bitcoin-hebasto/build/Testing/Temporary/LastTest.log
Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
ctest -j $(nproc) --rerun-failed --output-on-failure
Test project /home/ubunpolk/src/bitcoin-hebasto/build
Start 3: bench_sanity_check_high_priority
Start 87: streams_tests:streams_tests.cpp
1/2 Test #87: streams_tests:streams_tests.cpp ....***Failed 1.09 sec
Running 10 test cases...
unknown location(0): fatal error: in "streams_tests/xor_file": std::ios_base::failure[abi:cxx11]: AutoFile::write: file handle is nullptr: iostream error
/home/ubunpolk/src/bitcoin-hebasto/src/test/streams_tests.cpp(29): last checkpoint
*** 1 failure is detected in the test module "Bitcoin Core Test Suite"
2/2 Test #3: bench_sanity_check_high_priority ...***Failed 1.19 sec
Running with -sanity-check option, output is being suppressed as benchmark results will be useless.
Error: bad optional access
0% tests passed, 2 tests failed out of 2
Total Test time (real) = 1.19 sec
The following tests FAILED:
3 - bench_sanity_check_high_priority (Failed)
87 - streams_tests:streams_tests.cpp (Failed)
Errors while running CTest
On the same machine platform rebuild the system from master and executed make check
successfully.
make -j "$(($(nproc)+1))" check
Making check in src
make[1]: Entering directory '/home/ubunpolk/src/bitcoin/src'
make[2]: Entering directory '/home/ubunpolk/src/bitcoin/src'
make[3]: Entering directory '/home/ubunpolk/src/bitcoin'
make[3]: Leaving directory '/home/ubunpolk/src/bitcoin'
GEN obj/build.h
make minisketch/test
make[3]: Entering directory '/home/ubunpolk/src/bitcoin/src'
CXX minisketch/src/test-test.o
CXXLD minisketch/test
make[3]: Leaving directory '/home/ubunpolk/src/bitcoin/src'
make check-TESTS check-local
make[3]: Entering directory '/home/ubunpolk/src/bitcoin/src'
Running tests: bech32_tests from test/bech32_tests.cpp
Running tests: bip324_tests from test/bip324_tests.cpp
Running tests: addrman_tests from test/addrman_tests.cpp
Running tests: blockfilter_index_tests from test/blockfilter_index_tests.cpp
Running tests: base64_tests from test/base64_tests.cpp
Running tests: blockchain_tests from test/blockchain_tests.cpp
Running tests: amount_tests from test/amount_tests.cpp
Running tests: allocator_tests from test/allocator_tests.cpp
Running tests: blockencodings_tests from test/blockencodings_tests.cpp
Running tests: base32_tests from test/base32_tests.cpp
Running tests: banman_tests from test/banman_tests.cpp
Running tests: arith_uint256_tests from test/arith_uint256_tests.cpp
Running tests: blockfilter_tests from test/blockfilter_tests.cpp
Running tests: argsman_tests from test/argsman_tests.cpp
Running tests: base58_tests from test/base58_tests.cpp
Running tests: bip32_tests from test/bip32_tests.cpp
Running tests: blockmanager_tests from test/blockmanager_tests.cpp
Running tests: bloom_tests from test/bloom_tests.cpp
Running tests: checkqueue_tests from test/checkqueue_tests.cpp
Running tests: bswap_tests from test/bswap_tests.cpp
Running tests: compilerbug_tests from test/compilerbug_tests.cpp
Running tests: coinstatsindex_tests from test/coinstatsindex_tests.cpp
Running tests: coins_tests from test/coins_tests.cpp
Running tests: compress_tests from test/compress_tests.cpp
Running tests: crypto_tests from test/crypto_tests.cpp
Running tests: cuckoocache_tests from test/cuckoocache_tests.cpp
Running tests: denialofservice_tests from test/denialofservice_tests.cpp
Running tests: dbwrapper_tests from test/dbwrapper_tests.cpp
Running tests: descriptor_tests from test/descriptor_tests.cpp
Running tests: disconnected_transactions from test/disconnected_transactions.cpp
Running tests: flatfile_tests from test/flatfile_tests.cpp
Running tests: fs_tests from test/fs_tests.cpp
Running tests: getarg_tests from test/getarg_tests.cpp
Running tests: hash_tests from test/hash_tests.cpp
Running tests: headers_sync_chainwork_tests from test/headers_sync_chainwork_tests.cpp
Running tests: i2p_tests from test/i2p_tests.cpp
Running tests: httpserver_tests from test/httpserver_tests.cpp
Running tests: interfaces_tests from test/interfaces_tests.cpp
Running tests: key_io_tests from test/key_io_tests.cpp
Running tests: key_tests from test/key_tests.cpp
Running tests: logging_tests from test/logging_tests.cpp
Running tests: mempool_tests from test/mempool_tests.cpp
Running tests: merkle_tests from test/merkle_tests.cpp
Running tests: merkleblock_tests from test/merkleblock_tests.cpp
Running tests: miniscript_tests from test/miniscript_tests.cpp
Running tests: miner_tests from test/miner_tests.cpp
Running tests: miniminer_tests from test/miniminer_tests.cpp
Running tests: minisketch_tests from test/minisketch_tests.cpp
Running tests: multisig_tests from test/multisig_tests.cpp
Running tests: net_tests from test/net_tests.cpp
Running tests: net_peer_connection_tests from test/net_peer_connection_tests.cpp
Running tests: net_peer_eviction_tests from test/net_peer_eviction_tests.cpp
Running tests: netbase_tests from test/netbase_tests.cpp
Running tests: orphanage_tests from test/orphanage_tests.cpp
make[4]: Entering directory '/home/ubunpolk/src/bitcoin/src'
Running tests: pmt_tests from test/pmt_tests.cpp
Running tests: policy_fee_tests from test/policy_fee_tests.cpp
Running tests: policyestimator_tests from test/policyestimator_tests.cpp
Running tests: pool_tests from test/pool_tests.cpp
Running tests: pow_tests from test/pow_tests.cpp
Running tests: prevector_tests from test/prevector_tests.cpp
Running tests: raii_event_tests from test/raii_event_tests.cpp
Running tests: random_tests from test/random_tests.cpp
PASS: univalue/test/object
Running tests: rbf_tests from test/rbf_tests.cpp
make[5]: Entering directory '/home/ubunpolk/src/bitcoin'
make[5]: Leaving directory '/home/ubunpolk/src/bitcoin'
PASS: univalue/test/unitester
Running tests: rest_tests from test/rest_tests.cpp
Running tests: result_tests from test/result_tests.cpp
Running tests: reverselock_tests from test/reverselock_tests.cpp
Running tests: rpc_tests from test/rpc_tests.cpp
Running tests: sanity_tests from test/sanity_tests.cpp
Running tests: scheduler_tests from test/scheduler_tests.cpp
Running tests: script_p2sh_tests from test/script_p2sh_tests.cpp
Running tests: script_parse_tests from test/script_parse_tests.cpp
Running tests: script_segwit_tests from test/script_segwit_tests.cpp
Running tests: script_standard_tests from test/script_standard_tests.cpp
Running tests: scriptnum_tests from test/scriptnum_tests.cpp
Running tests: script_tests from test/script_tests.cpp
Running tests: serfloat_tests from test/serfloat_tests.cpp
GEN obj/build.h
Running tests: serialize_tests from test/serialize_tests.cpp
Running tests: settings_tests from test/settings_tests.cpp
Running tests: sighash_tests from test/sighash_tests.cpp
Running tests: sigopcount_tests from test/sigopcount_tests.cpp
Running tests: skiplist_tests from test/skiplist_tests.cpp
Running tests: sock_tests from test/sock_tests.cpp
Running tests: span_tests from test/span_tests.cpp
Running tests: streams_tests from test/streams_tests.cpp
Running tests: sync_tests from test/sync_tests.cpp
Running tests: system_tests from test/system_tests.cpp
Running tests: timedata_tests from test/timedata_tests.cpp
Running tests: torcontrol_tests from test/torcontrol_tests.cpp
Running tests: transaction_tests from test/transaction_tests.cpp
Running tests: translation_tests from test/translation_tests.cpp
Running tests: txindex_tests from test/txindex_tests.cpp
Running tests: txpackage_tests from test/txpackage_tests.cpp
Running tests: txreconciliation_tests from test/txreconciliation_tests.cpp
Running tests: txrequest_tests from test/txrequest_tests.cpp
Running tests: txvalidation_tests from test/txvalidation_tests.cpp
Running tests: txvalidationcache_tests from test/txvalidationcache_tests.cpp
Running tests: uint256_tests from test/uint256_tests.cpp
Running tests: util_tests from test/util_tests.cpp
Running tests: util_threadnames_tests from test/util_threadnames_tests.cpp
Running tests: validation_block_tests from test/validation_block_tests.cpp
Running tests: validation_chainstate_tests from test/validation_chainstate_tests.cpp
Running tests: validation_chainstatemanager_tests from test/validation_chainstatemanager_tests.cpp
Running tests: validation_flush_tests from test/validation_flush_tests.cpp
Running tests: validationinterface_tests from test/validationinterface_tests.cpp
Running tests: validation_tests from test/validation_tests.cpp
Running tests: versionbits_tests from test/versionbits_tests.cpp
Running tests: xoroshiro128plusplus_tests from test/xoroshiro128plusplus_tests.cpp
Running tests: feebumper_tests from wallet/test/feebumper_tests.cpp
Running tests: psbt_wallet_tests from wallet/test/psbt_wallet_tests.cpp
Running tests: spend_tests from wallet/test/spend_tests.cpp
Running tests: wallet_tests from wallet/test/wallet_tests.cpp
Running tests: walletdb_tests from wallet/test/walletdb_tests.cpp
Running tests: wallet_crypto_tests from wallet/test/wallet_crypto_tests.cpp
Running tests: wallet_transaction_tests from wallet/test/wallet_transaction_tests.cpp
Running tests: coinselector_tests from wallet/test/coinselector_tests.cpp
Running tests: init_tests from wallet/test/init_tests.cpp
Running tests: ismine_tests from wallet/test/ismine_tests.cpp
Running tests: wallet_util_tests from wallet/test/rpc_util_tests.cpp
Running tests: scriptpubkeyman_tests from wallet/test/scriptpubkeyman_tests.cpp
Running tests: walletload_tests from wallet/test/walletload_tests.cpp
Running tests: group_outputs_tests from wallet/test/group_outputs_tests.cpp
PASS: minisketch/test
PASS: qt/test/test_bitcoin-qt
============================================================================
Testsuite summary for Bitcoin Core 26.99.0
============================================================================
# TOTAL: 4
# PASS: 4
# SKIP: 0
# XFAIL: 0
# FAIL: 0
# XPASS: 0
# ERROR: 0
============================================================================
make[4]: Leaving directory '/home/ubunpolk/src/bitcoin/src'
Running test/util/test_runner.py...
/usr/bin/python3.10 ../test/util/test_runner.py
Running test/util/rpcauth-test.py...
/usr/bin/python3.10 ../test/util/rpcauth-test.py
...
----------------------------------------------------------------------
Ran 3 tests in 0.005s
OK
Running bench/bench_bitcoin (one iteration sanity check, only high priority)...
bench/bench_bitcoin -sanity-check -priority-level=high
Running with -sanity-check option, output is being suppressed as benchmark results will be useless.
make[4]: Entering directory '/home/ubunpolk/src/bitcoin/src/secp256k1'
make check-am
make[5]: Entering directory '/home/ubunpolk/src/bitcoin/src/secp256k1'
CC src/noverify_tests-tests.o
CC src/tests-tests.o
CC src/exhaustive_tests-tests_exhaustive.o
CCLD exhaustive_tests
CCLD noverify_tests
CCLD tests
make check-TESTS
make[6]: Entering directory '/home/ubunpolk/src/bitcoin/src/secp256k1'
make[7]: Entering directory '/home/ubunpolk/src/bitcoin/src/secp256k1'
PASS: exhaustive_tests
PASS: noverify_tests
PASS: tests
============================================================================
Testsuite summary for libsecp256k1 0.4.0
============================================================================
# TOTAL: 3
# PASS: 3
# SKIP: 0
# XFAIL: 0
# FAIL: 0
# XPASS: 0
# ERROR: 0
============================================================================
make[7]: Leaving directory '/home/ubunpolk/src/bitcoin/src/secp256k1'
make[6]: Leaving directory '/home/ubunpolk/src/bitcoin/src/secp256k1'
make[5]: Leaving directory '/home/ubunpolk/src/bitcoin/src/secp256k1'
make[4]: Leaving directory '/home/ubunpolk/src/bitcoin/src/secp256k1'
make[3]: Leaving directory '/home/ubunpolk/src/bitcoin/src'
make[2]: Leaving directory '/home/ubunpolk/src/bitcoin/src'
make[1]: Leaving directory '/home/ubunpolk/src/bitcoin/src'
Making check in doc/man
make[1]: Entering directory '/home/ubunpolk/src/bitcoin/doc/man'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/ubunpolk/src/bitcoin/doc/man'
make[1]: Entering directory '/home/ubunpolk/src/bitcoin'
make[1]: Nothing to be done for 'check-am'.
make[1]: Leaving directory '/home/ubunpolk/src/bitcoin'
All tests should pass as in a normal build on any platform.
Perform cross-compilation on WSL Ubuntu 22.04 for Windows (source) on cmake-staging
branch:
make -C depends -j $(nproc) HOST=x86_64-w64-mingw32 NO_QT=1
mkdir build
cd build
cmake -S .. --toolchain ../depends/x86_64-w64-mingw32/share/toolchain.cmake
cmake --build . -j $(nproc)
ctest -j $(nproc)
No response
Other
v26.99
Ubuntu 22.04 on WSL
No response
Otherwise it's not clear why there'd be a debug-specific carve-out for this in our hardening flags.
Lines 168 to 174 in 4778d28
(added in 84b83b3)
https://cmake.org/pipermail/cmake/2011-September/046090.html says that we are not supposed to set rule variables such as CMAKE_CXX_COMPILE_OBJECT
, or, if we really need to, set use CMAKE_USER_MAKE_RULES_OVERRIDE.
Is this code block supposed to achieve the same as our SECP256K1_LATE_CFLAGS
(implemented by a user-defined function all_targets_add_compile_options
) in libsecp256k1?
We have code for deplicating/handling CMAKE_C_FLAGS
/CMAKE_CXX_FLAGS
/CMAKE_EXE_LINKER_FLAGS
, but I can't see it for OBJCXXFLAGS
? Is this not needed, or just missing?
Note that on master we also have OBJCXXFLAGS="$CXXFLAGS -Wno-deprecated-declarations"
for silencing deprecations (in our own code), but don't see the equivalent in CMake?
When both BDB 4.8 and 5.3 are installed, either the wrong BDB version is being linked with, or the wrong header is used when compiling.
cmake -S ..
reports:
-- Found BerkeleyDB: /usr/lib/libdb_cxx-4.8.so (found suitable version "6.2.32", minimum required is "4.8")
CMake Warning at cmake/optional.cmake:171 (message):
Found Berkeley DB (BDB) other than 4.8.
Call Stack (most recent call first):
CMakeLists.txt:408 (include)
CMake Warning at cmake/optional.cmake:173 (message):
BDB (legacy) wallets opened by this build would not be portable!
If this is intended, pass "-DWARN_INCOMPATIBLE_BDB=OFF".
Passing "-DWITH_BDB=OFF" will suppress this warning.
Call Stack (most recent call first):
CMakeLists.txt:408 (include)
This suggests that the correct library version is found, but there is a spurious warning.
However, when running the resulting bitcoind
, I get:
Error: A version conflict was detected between the run-time BerkeleyDB library and the one used during compilation.
This suggests that the wrong header version is found. ldd
supports this interpretation:
$ ldd bitcoind
...
libdb_cxx-4.8.so => /usr/lib/libdb_cxx-4.8.so (0x00007a2f87d50000)
When multiple BDB versions are found, and 4.8 is one of them, we should always be using it.
Install both BDB 4.8 and 5.3 such that both would be in default include and lib paths.
On arch, install the package db5.3
, and db4.8
from the aur
Then do build with normally with all default values.
No response
Compiled from source
Arch
No response
Running an individual functional test directly is not possible as the files do not exist in the out of tree build. For example, trying to run test/functional/wallet_basic.py
from the build dir is not possible.
It should be possible to run all functional tests directly. Furthermore, these should be symlinked as making changes to the test in the source directory should result in the executed test also changing without needing a rebuild.
Build normally. Run a functional test by providing the relative path to it as if you were in the root of the source directory.
No response
Compiled from source
Arch
No response
To provide platform-dependent features, CMake suggests two options:
CMAKE_SYSTEM_NAME
which values depend on CMake's internal platform files, and are not documented anywhereWhile the former are concise, they are not enough for all of the supported platforms.
The latter, when using consistently, are pretty verbose (for typing and reading).
The question is to choose or design a concise and consistent way to check target platforms.
I've looked into compatibility between the cmake-staging branch and Nix/NixOS packaging. I'm using this issue as an tracking issue, let me know if I should move it somewhere else.
Specifically, looking at the following:
cmake
build of the Nix bitcoin
(with GUI) and bitcoind
(without GUI) packages based on https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/applications/blockchains/bitcoin/default.nix. This uses Nix depends.cmake
build of a full depends build (as we do in GUIX). I've been hacking on this in 0xB10C/bitcoind-gunix#1. The latest I've been able to build is 25.0, but haven't spent too much time on it.I'm only testing x86_64-linux
at the moment.
x86_64-linux
Building 5e65a38 with the following patch to the bitcoin/default.nix
file seems to mostly work. It fails during the installation of the bash completions, likely because the relative bash completions path isn't compatible with Nix. I can investigate what's needed here. Note that the nixpkgs version has it's own install of the bash completions. If we can skip these in the install phase, that might be an option.
diff --git a/pkgs/applications/blockchains/bitcoin/default.nix b/pkgs/applications/blockchains/bitcoin/default.nix
index f31fea152..c804bf0c9 100644
--- a/pkgs/applications/blockchains/bitcoin/default.nix
+++ b/pkgs/applications/blockchains/bitcoin/default.nix
@@ -1,7 +1,7 @@
{ lib
, stdenv
, fetchurl
-, autoreconfHook
+, cmake
, pkg-config
, installShellFiles
, util-linux
@@ -33,18 +33,17 @@ let
in
stdenv.mkDerivation rec {
pname = if withGui then "bitcoin" else "bitcoind";
- version = "26.0";
-
+ version = "5e65a38896525cdb84f25e0968cc230e147cfc9b";
src = fetchurl {
urls = [
- "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
+ "https://github.com/hebasto/bitcoin/archive/${version}.tar.gz"
];
# hash retrieved from signed SHA256SUMS
- sha256 = "ab1d99276e28db62d1d9f3901e85ac358d7f1ebcb942d348a9c4e46f0fcdc0a1";
+ sha256 = "sha256-rKfPjUTmyVIJ2Sy8aETA12eXkzcGDy/Rbrj10rNeNj8=";
};
nativeBuildInputs =
- [ autoreconfHook pkg-config installShellFiles ]
+ [ cmake pkg-config installShellFiles ]
++ lib.optionals stdenv.isLinux [ util-linux ]
++ lib.optionals stdenv.isDarwin [ hexdump ]
++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ autoSignDarwinBinariesHook ]
...
[ 82%] Built target fuzz
[ 83%] Built target bitcoin-qt
[ 84%] Built target test_bitcoin-qt
[100%] Built target test_bitcoin
Install the project...
-- Install configuration: "Release"
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/bin/bitcoin-qt
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/bin/test_bitcoin-qt
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/bin/bench_bitcoin
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/bin/test_bitcoin
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/bin/bitcoin-wallet
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/bin/bitcoind
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/bin/bitcoin-cli
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/bin/bitcoin-tx
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/bin/bitcoin-util
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/share/man/man1
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/share/man/man1/bitcoin-tx.1
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/share/man/man1/bitcoin-wallet.1
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/share/man/man1/bitcoin-cli.1
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/share/man/man1/bitcoind.1
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/share/man/man1/bitcoin-util.1
-- Installing: /nix/store/4620r11377c07s7fxv87683x3bwral71-bitcoin-5e65a38896525cdb84f25e0968cc230e147cfc9b/share/man/man1/bitcoin-qt.1
install: cannot stat 'contrib/completions/bash/bitcoin-cli.bash': No such file or directory
Full build.log
Will update once I have a v26.0 build working and get to cmake. See 0xB10C/bitcoind-gunix#1 (comment).
Steps to reproduce:
Arm M1 Mac running MacOS 14.0 (Sonoma)
Xcode 15.4
Apple clang version 15.0.0 (clang-1500.0.40.1)
cmake version 3.29.3
mkdir build
cmake -B build -G Xcode
Output:
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:53 (enable_language):
No CMAKE_CXX_COMPILER could be found.
-- Configuring incomplete, errors occurred!
Compared to master we aren't running the checks with these flags. It's not clear if this is on purpose (given the reasoning in docs in master would still hold as far as I'm aware?). Discussed somewhat offline.
It is a follow up related to the discussion in #82.
Please consider the cashed variables output with help displayed:
$ cat CMakeLists.txt
cmake_minimum_required(VERSION 3.16)
project(test)
$ cmake -B build -LH | grep -A 1 None
// Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ...
CMAKE_BUILD_TYPE:STRING=
An umbrella issue.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.