a24ef27cfe6e28979cdc33382d69a979367febff build: patch around qt duplicate symbol issue (fanquake) Pull request description: This is currently causing the same failure in two different PRs: #24391: build: stop overriding user autoconf flags ```bash duplicate symbol 'lcQpaFonts()' in: /tmp/cirrus-ci-build/depends/x86_64-apple-darwin/lib/libQt5ThemeSupport.a(qgenericunixthemes.o) /tmp/cirrus-ci-build/depends/x86_64-apple-darwin/lib/libQt5FontDatabaseSupport.a(qfontengine_coretext.o) ld: 1 duplicate symbol for architecture x86_64 ``` #21778: build: LLVM 14 & LLD based macOS toolchain ```bash x86_64-apple-darwin-ld: error: duplicate symbol: __Z10lcQpaFontsv >>> defined in /tmp/cirrus-ci-build/depends/x86_64-apple-darwin/lib/libQt5ThemeSupport.a(qgenericunixthemes.o) >>> defined in /tmp/cirrus-ci-build/depends/x86_64-apple-darwin/lib/libQt5FontDatabaseSupport.a(qfontengine_coretext.o) ``` Guix Build (x86_64): ```bash 82dd305045fa908d3a5909c8f7827e4ab607281b84706e0722d32e4c1c507cef guix-build-a24ef27cfe6e/output/aarch64-linux-gnu/SHA256SUMS.part dadef04a291a1e371cac7eef0056948180fcad86ba77f9fc7b844b389461bbe1 guix-build-a24ef27cfe6e/output/aarch64-linux-gnu/bitcoin-a24ef27cfe6e-aarch64-linux-gnu-debug.tar.gz 67842aef90a56be203388a6838b95d6f472d018fdbf399b12b9e0b577e101651 guix-build-a24ef27cfe6e/output/aarch64-linux-gnu/bitcoin-a24ef27cfe6e-aarch64-linux-gnu.tar.gz bef26de8cdd47853c1bca34e2cf002a9734394a7a3e027aba1b713738b4a3794 guix-build-a24ef27cfe6e/output/arm-linux-gnueabihf/SHA256SUMS.part 5198227d1b7801032f358da348bc577a4d99273b0ecca50b83ad1b3d5d2f9d92 guix-build-a24ef27cfe6e/output/arm-linux-gnueabihf/bitcoin-a24ef27cfe6e-arm-linux-gnueabihf-debug.tar.gz 97656b94a4b8bedd87a8a2d11e032d01f6cb22fa22f26e047deab9fc70886733 guix-build-a24ef27cfe6e/output/arm-linux-gnueabihf/bitcoin-a24ef27cfe6e-arm-linux-gnueabihf.tar.gz ea0b7fa4458d36c349d7b56813c75a1957bb904945265bd26f970a5b6f8a1817 guix-build-a24ef27cfe6e/output/arm64-apple-darwin/SHA256SUMS.part f7741dc1baf0e59713f42fef8b53e613fef62abbeef9ca5c8187b04b7a81054f guix-build-a24ef27cfe6e/output/arm64-apple-darwin/bitcoin-a24ef27cfe6e-arm64-apple-darwin-unsigned.dmg 7d27ebc99af2a35ee21736dc13adf76c5e646a3b5c00cf6a4bf56077b1ce0db4 guix-build-a24ef27cfe6e/output/arm64-apple-darwin/bitcoin-a24ef27cfe6e-arm64-apple-darwin-unsigned.tar.gz ae47461a03cff74d8e9e575c52148d1378ed883f41557cdf57f626532adfd60e guix-build-a24ef27cfe6e/output/arm64-apple-darwin/bitcoin-a24ef27cfe6e-arm64-apple-darwin.tar.gz 14f55113414fa633e4499cd83ebed9f1f4d9a36e0ab2ec550cbba159d00d1de8 guix-build-a24ef27cfe6e/output/dist-archive/bitcoin-a24ef27cfe6e.tar.gz a2834efc9b7ac1545e442f5b527b1a739713b399c3591cfa4ac07d30a858017f guix-build-a24ef27cfe6e/output/powerpc64-linux-gnu/SHA256SUMS.part 720120e641fe527dbe1f6979e3ed0222238f79a0cfac067838bc91739aa3f2d9 guix-build-a24ef27cfe6e/output/powerpc64-linux-gnu/bitcoin-a24ef27cfe6e-powerpc64-linux-gnu-debug.tar.gz e150946434a4f0b59b7dfdec65d02a2db4290b3e7f5eade1141905ef56b7587b guix-build-a24ef27cfe6e/output/powerpc64-linux-gnu/bitcoin-a24ef27cfe6e-powerpc64-linux-gnu.tar.gz 1255c0e22087042f2262acc3f7d043659a9a2cbd0767b65ba355f89bc4589915 guix-build-a24ef27cfe6e/output/powerpc64le-linux-gnu/SHA256SUMS.part 43152dcfcff13d60c5f6fbfaed328643e6a18d43f1f0935742732080e142e40d guix-build-a24ef27cfe6e/output/powerpc64le-linux-gnu/bitcoin-a24ef27cfe6e-powerpc64le-linux-gnu-debug.tar.gz 41ec8e457921ecf4241209015441bcf6ced53e1430f5637aef0ed837de175dfb guix-build-a24ef27cfe6e/output/powerpc64le-linux-gnu/bitcoin-a24ef27cfe6e-powerpc64le-linux-gnu.tar.gz 5edeefb9479d14ff8b2f6c40390ae6a8995d42238be56c1edd2c462d065fb1e7 guix-build-a24ef27cfe6e/output/riscv64-linux-gnu/SHA256SUMS.part f037d4cc378da0c00b10f2960cb853377b2c0710aba4ed17c8f10ff9e8ab2cd8 guix-build-a24ef27cfe6e/output/riscv64-linux-gnu/bitcoin-a24ef27cfe6e-riscv64-linux-gnu-debug.tar.gz 793d0f8710e300adb6aff2e289370fb71c60d5d844970161898c359f3dea0f2f guix-build-a24ef27cfe6e/output/riscv64-linux-gnu/bitcoin-a24ef27cfe6e-riscv64-linux-gnu.tar.gz caeed20b8b301abdd32cb82c290ef77b283eb7b9f341254cdcf846f6d85365a9 guix-build-a24ef27cfe6e/output/x86_64-apple-darwin/SHA256SUMS.part 5f02de0e7149b70b6fe612cc382e27c3e8691a2c8d05730604ea92410843d62c guix-build-a24ef27cfe6e/output/x86_64-apple-darwin/bitcoin-a24ef27cfe6e-x86_64-apple-darwin-unsigned.dmg 0f5a5041a12061e4e9f5fcfc803cd2a98636d964845a76713d83575caef5a4f6 guix-build-a24ef27cfe6e/output/x86_64-apple-darwin/bitcoin-a24ef27cfe6e-x86_64-apple-darwin-unsigned.tar.gz adc74b896eba9eb6b6ef5da0d909f2d3c529a23b55fff4c8af4465b277b46217 guix-build-a24ef27cfe6e/output/x86_64-apple-darwin/bitcoin-a24ef27cfe6e-x86_64-apple-darwin.tar.gz 57a56059e4054e5becdbc36a6765f3b209535a78d4fa3f8a932d65e6b12d9c05 guix-build-a24ef27cfe6e/output/x86_64-linux-gnu/SHA256SUMS.part 5c163f6c9936307b139fcc91e9a129e144c7961b44e11b245b0c9402b6b919a8 guix-build-a24ef27cfe6e/output/x86_64-linux-gnu/bitcoin-a24ef27cfe6e-x86_64-linux-gnu-debug.tar.gz 7c1f9370fe8e26e3363198f3cd3f1d817662bc944f873138bcff997cda2d3c25 guix-build-a24ef27cfe6e/output/x86_64-linux-gnu/bitcoin-a24ef27cfe6e-x86_64-linux-gnu.tar.gz 0708072d2c81ed5e7d54bfec350d8737931e13bd9291bdb72925c096be33f186 guix-build-a24ef27cfe6e/output/x86_64-w64-mingw32/SHA256SUMS.part 0b9b931fb4902a2779a193ca96fee01d1790644a004cd8898e24f008799d1a24 guix-build-a24ef27cfe6e/output/x86_64-w64-mingw32/bitcoin-a24ef27cfe6e-win64-debug.zip d19c8cbb2b3359ebf0b66dada69f3a88eb41c0945c0e2b847bc2684f1c3d1985 guix-build-a24ef27cfe6e/output/x86_64-w64-mingw32/bitcoin-a24ef27cfe6e-win64-setup-unsigned.exe 5797bb51c61b2857c0912e205bc886a29bc537076da00bba4c3e27c479d23c9c guix-build-a24ef27cfe6e/output/x86_64-w64-mingw32/bitcoin-a24ef27cfe6e-win64-unsigned.tar.gz 131d9aff0d9c72f1d27cac728b7fdd42f6e961214eec330fc38e1d644869b6f8 guix-build-a24ef27cfe6e/output/x86_64-w64-mingw32/bitcoin-a24ef27cfe6e-win64.zip ``` Guix Build (arm64): ```bash fef112513bde9d33b071efd0e1c3965b10103c7f8c2c66838b6e2f0556bb62b2 guix-build-a24ef27cfe6e/output/arm-linux-gnueabihf/SHA256SUMS.part 71b8117e6558fc455235a172b65f882b1d2ee8bcebc456f97ceafaa109c683ee guix-build-a24ef27cfe6e/output/arm-linux-gnueabihf/bitcoin-a24ef27cfe6e-arm-linux-gnueabihf-debug.tar.gz 25df44270fc5495967509dd36455ad70179f30b9d2819f6a86a72bbabb7a0396 guix-build-a24ef27cfe6e/output/arm-linux-gnueabihf/bitcoin-a24ef27cfe6e-arm-linux-gnueabihf.tar.gz 918ce9c69609f4cf07fdb2de699c54db4ad39dc0e79eeb9ea1b7ef7333bc7d5c guix-build-a24ef27cfe6e/output/arm64-apple-darwin/SHA256SUMS.part 63a6082ed74497c957309d72e517905ac1071c45527241c8d5d08327af00e3b4 guix-build-a24ef27cfe6e/output/arm64-apple-darwin/bitcoin-a24ef27cfe6e-arm64-apple-darwin-unsigned.dmg dce37e97b56c9612f7fed92c58a0f9ba58a7829db2dabcd6fea56935fa4aa7dd guix-build-a24ef27cfe6e/output/arm64-apple-darwin/bitcoin-a24ef27cfe6e-arm64-apple-darwin-unsigned.tar.gz 056aaa181c8d6f6ae6cf9e8c1d3d9344c31ed4b73fd41d7fe2b89761d2a8ca7e guix-build-a24ef27cfe6e/output/arm64-apple-darwin/bitcoin-a24ef27cfe6e-arm64-apple-darwin.tar.gz 14f55113414fa633e4499cd83ebed9f1f4d9a36e0ab2ec550cbba159d00d1de8 guix-build-a24ef27cfe6e/output/dist-archive/bitcoin-a24ef27cfe6e.tar.gz e16e0f4fedf8761f220098c1986c0d53f4f051362ba4ff44d89a350a62f3fd3a guix-build-a24ef27cfe6e/output/powerpc64-linux-gnu/SHA256SUMS.part ae804d7a23bda9dc196200cd9d4caf0bd5d0611597a3e40da1dc2b27dee0effd guix-build-a24ef27cfe6e/output/powerpc64-linux-gnu/bitcoin-a24ef27cfe6e-powerpc64-linux-gnu-debug.tar.gz 82b274e6bbca6f5c2b70809b9aee7831dcefe6553011aabef804ca0a531c54d8 guix-build-a24ef27cfe6e/output/powerpc64-linux-gnu/bitcoin-a24ef27cfe6e-powerpc64-linux-gnu.tar.gz 15031a61fbb3cc9495f274a85241aa4708aef3564a66faaaccfd35fcb51e5f3c guix-build-a24ef27cfe6e/output/powerpc64le-linux-gnu/SHA256SUMS.part 302041c21942edb8c0de8aa4af6105338c82ffead5ad57947c0fdd99f1f66ce7 guix-build-a24ef27cfe6e/output/powerpc64le-linux-gnu/bitcoin-a24ef27cfe6e-powerpc64le-linux-gnu-debug.tar.gz 0f6b18d72109efd249abdae611d57b94a725863a4e8ab91b07b9199d9e5e3e86 guix-build-a24ef27cfe6e/output/powerpc64le-linux-gnu/bitcoin-a24ef27cfe6e-powerpc64le-linux-gnu.tar.gz d3e84416a8dd90427d028390357cb9fbf98aabc1e97210afdcb26ff7b7656b93 guix-build-a24ef27cfe6e/output/riscv64-linux-gnu/SHA256SUMS.part 564e353892b5952889e62f946fe6045f4b348fa66712f7cb06262aca8bd7fbc8 guix-build-a24ef27cfe6e/output/riscv64-linux-gnu/bitcoin-a24ef27cfe6e-riscv64-linux-gnu-debug.tar.gz 29fc019a6c96be6a6f9190e2661be9b4c4d2da7b530ee8815be145cdfa11902a guix-build-a24ef27cfe6e/output/riscv64-linux-gnu/bitcoin-a24ef27cfe6e-riscv64-linux-gnu.tar.gz 3a9e1d03eb6691138f193da68e355638d4db4646b3f674ea1645358cf55a49f2 guix-build-a24ef27cfe6e/output/x86_64-apple-darwin/SHA256SUMS.part 5f02de0e7149b70b6fe612cc382e27c3e8691a2c8d05730604ea92410843d62c guix-build-a24ef27cfe6e/output/x86_64-apple-darwin/bitcoin-a24ef27cfe6e-x86_64-apple-darwin-unsigned.dmg 8923d5f2b08b64fd53796db4ef90a631b8b1c15908971ae334d7ba35437e0f19 guix-build-a24ef27cfe6e/output/x86_64-apple-darwin/bitcoin-a24ef27cfe6e-x86_64-apple-darwin-unsigned.tar.gz adc74b896eba9eb6b6ef5da0d909f2d3c529a23b55fff4c8af4465b277b46217 guix-build-a24ef27cfe6e/output/x86_64-apple-darwin/bitcoin-a24ef27cfe6e-x86_64-apple-darwin.tar.gz faff9251c2d7cdd4336ab23baa34b9c52083018d5302eb3e7aa807926ef6b2b8 guix-build-a24ef27cfe6e/output/x86_64-linux-gnu/SHA256SUMS.part 92c72070e2c95aad4ad16434b7eadef7ebdbbaa1de262ad968d4fa8396e801c4 guix-build-a24ef27cfe6e/output/x86_64-linux-gnu/bitcoin-a24ef27cfe6e-x86_64-linux-gnu-debug.tar.gz 259f6213e0ecb0f4d01d2c106142602e7772c1b09a15ff6cf395d2f9be571787 guix-build-a24ef27cfe6e/output/x86_64-linux-gnu/bitcoin-a24ef27cfe6e-x86_64-linux-gnu.tar.gz 22cf628aad35d18206a87514a9833acc0af79572ecba847aa59c2b2dec1be799 guix-build-a24ef27cfe6e/output/x86_64-w64-mingw32/SHA256SUMS.part 29cbe82b770d6db0ab295ff0ac2614584de5fc5cc79dc4f8f8d9918f359795dc guix-build-a24ef27cfe6e/output/x86_64-w64-mingw32/bitcoin-a24ef27cfe6e-win64-debug.zip d19c8cbb2b3359ebf0b66dada69f3a88eb41c0945c0e2b847bc2684f1c3d1985 guix-build-a24ef27cfe6e/output/x86_64-w64-mingw32/bitcoin-a24ef27cfe6e-win64-setup-unsigned.exe 5797bb51c61b2857c0912e205bc886a29bc537076da00bba4c3e27c479d23c9c guix-build-a24ef27cfe6e/output/x86_64-w64-mingw32/bitcoin-a24ef27cfe6e-win64-unsigned.tar.gz 56ac734a7007d5565bee6147bc4219e0750210dae8188b602f12d4243a437fac guix-build-a24ef27cfe6e/output/x86_64-w64-mingw32/bitcoin-a24ef27cfe6e-win64.zip ``` ACKs for top commit: hebasto: ACK a24ef27cfe6e28979cdc33382d69a979367febff Tree-SHA512: d835d3f2f8fc6ed2b855717068c88574b3d6d01d7db04214e554fe101280f8196708f8e792e62e8713ff4774a4a91399ca2cf4c27f3ea3c7605e9224f5722086
Bitcoin Core integration/staging tree
For an immediately usable, binary version of the Bitcoin Core software, see https://bitcoincore.org/en/download/.
Further information about Bitcoin Core is available in the doc folder.
What is Bitcoin?
Bitcoin is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin Core is the name of open source software which enables the use of this currency.
For more information read the original Bitcoin whitepaper.
License
Bitcoin Core is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.
Development Process
The master
branch is regularly built (see doc/build-*.md
for instructions) and tested, but it is not guaranteed to be
completely stable. Tags are created
regularly from release branches to indicate new official, stable release versions of Bitcoin Core.
The https://github.com/bitcoin-core/gui repository is used exclusively for the development of the GUI. Its master branch is identical in all monotree repositories. Release branches and tags do not exist, so please do not fork that repository unless it is for development reasons.
The contribution workflow is described in CONTRIBUTING.md and useful hints for developers can be found in doc/developer-notes.md.
Testing
Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.
Automated Testing
Developers are strongly encouraged to write unit tests for new code, and to
submit new unit tests for old code. Unit tests can be compiled and run
(assuming they weren't disabled in configure) with: make check
. Further details on running
and extending unit tests can be found in /src/test/README.md.
There are also regression and integration tests, written
in Python.
These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py
The CI (Continuous Integration) systems make sure that every pull request is built for Windows, Linux, and macOS, and that unit/sanity tests are run automatically.
Manual Quality Assurance (QA) Testing
Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.
Translations
Changes to translations as well as new translations can be submitted to Bitcoin Core's Transifex page.
Translations are periodically pulled from Transifex and merged into the git repository. See the translation process for details on how this works.
Important: We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.