Skip to content

Conversation

hebasto
Copy link
Member

@hebasto hebasto commented Sep 21, 2024

In the Guix environment, ${BASEPREFIX}/${HOST}/native/bin is added to the PATH environment variable:

# Make $HOST-specific native binaries from depends available in $PATH
export PATH="${BASEPREFIX}/${HOST}/native/bin:${PATH}"

This causes CMake to search for package configurations in the native subdirectory first.

Explicitly specifying the top-priority search prefixes for the Libmultiprocess and LibmultiprocessNative packages resolves #30931.

Can be tested on this branch with an additional commit:

$ uname -m
x86_64
$ env MULTIPROCESS=1 HOSTS=x86_64-linux-gnu ./contrib/guix/guix-build
$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
70d482a09099931345888a918df5ccc78a0c742b1d18bb8a5d442af9b2717867  guix-build-d8ec933456bc/output/dist-archive/bitcoin-d8ec933456bc.tar.gz
ea9465517c0e1cc559a6a353f404b2bf47447332c918b69410dc51b6c4fbdedc  guix-build-d8ec933456bc/output/x86_64-linux-gnu/SHA256SUMS.part
f83a296139d0757abc47d053b8fddebc6d2ccc36dabea9b2d52883d23ba923bb  guix-build-d8ec933456bc/output/x86_64-linux-gnu/bitcoin-d8ec933456bc-x86_64-linux-gnu-debug.tar.gz
81aed48bece8d9bf5327530763c17d73dd66d5a3c666cbaf9381c03d4a660845  guix-build-d8ec933456bc/output/x86_64-linux-gnu/bitcoin-d8ec933456bc-x86_64-linux-gnu.tar.gz
$ uname -m
aarch64
$ env MULTIPROCESS=1 HOSTS=x86_64-linux-gnu ./contrib/guix/guix-build
$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
70d482a09099931345888a918df5ccc78a0c742b1d18bb8a5d442af9b2717867  guix-build-d8ec933456bc/output/dist-archive/bitcoin-d8ec933456bc.tar.gz
ea9465517c0e1cc559a6a353f404b2bf47447332c918b69410dc51b6c4fbdedc  guix-build-d8ec933456bc/output/x86_64-linux-gnu/SHA256SUMS.part
f83a296139d0757abc47d053b8fddebc6d2ccc36dabea9b2d52883d23ba923bb  guix-build-d8ec933456bc/output/x86_64-linux-gnu/bitcoin-d8ec933456bc-x86_64-linux-gnu-debug.tar.gz
81aed48bece8d9bf5327530763c17d73dd66d5a3c666cbaf9381c03d4a660845  guix-build-d8ec933456bc/output/x86_64-linux-gnu/bitcoin-d8ec933456bc-x86_64-linux-gnu.tar.gz

@DrahtBot
Copy link
Contributor

DrahtBot commented Sep 21, 2024

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage

For detailed information about the code coverage, see the test coverage report.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK ryanofsky, fanquake

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #30975 (Add multiprocess binaries to release build by Sjors)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@hebasto
Copy link
Member Author

hebasto commented Sep 21, 2024

My Guix build:

aarch64
753aee81b01ff7a560a6c2c9ad64e2f3d3a535d0f5484364ea6b0f7ac7d8d595  guix-build-953aa067c565/output/aarch64-linux-gnu/SHA256SUMS.part
2eec13b0a0a28d16b9ec2b09908d6785666b49cd2076fd7b677259be0f30d624  guix-build-953aa067c565/output/aarch64-linux-gnu/bitcoin-953aa067c565-aarch64-linux-gnu-debug.tar.gz
732591be3acdc241d8d7a649bad755561dafe97839e00105682d962844acbe54  guix-build-953aa067c565/output/aarch64-linux-gnu/bitcoin-953aa067c565-aarch64-linux-gnu.tar.gz
279a5e977129a58cd743ac431ec1f6972db9db7e4ffaf3b755e0d0368c3e09f5  guix-build-953aa067c565/output/arm-linux-gnueabihf/SHA256SUMS.part
84b2f3311ef1aa017e06dc4e5700df01f7e27fbcf1e254f8abd027a8b47ea09c  guix-build-953aa067c565/output/arm-linux-gnueabihf/bitcoin-953aa067c565-arm-linux-gnueabihf-debug.tar.gz
c14df93dce9717c7502da304bae7f49385cd8c12c8405e490c0e55f9887e549b  guix-build-953aa067c565/output/arm-linux-gnueabihf/bitcoin-953aa067c565-arm-linux-gnueabihf.tar.gz
332292f301369d7442d8377d08d1d47f90865e912b7b4737539bad5878658736  guix-build-953aa067c565/output/arm64-apple-darwin/SHA256SUMS.part
d63904f9ad6999109fb5d79a22789accb09dd0d81b76ead73fc6135d410f0c1a  guix-build-953aa067c565/output/arm64-apple-darwin/bitcoin-953aa067c565-arm64-apple-darwin-unsigned.tar.gz
79b0787b0eaeca13cf892e52e077b8ea019cfa793babae7db50d76d73a24d032  guix-build-953aa067c565/output/arm64-apple-darwin/bitcoin-953aa067c565-arm64-apple-darwin-unsigned.zip
16c1b1903b538761ce8ad815b62f4e8429873fc97e5cba17a200054b7137ef0a  guix-build-953aa067c565/output/arm64-apple-darwin/bitcoin-953aa067c565-arm64-apple-darwin.tar.gz
1490148fb1df2ea9905803dc074757f0b984b953920e41d9898de46de641484d  guix-build-953aa067c565/output/dist-archive/bitcoin-953aa067c565.tar.gz
8c0f6348a8bba512d65cfbb4e88767b7a0b315e0d492d2ac8afedfcc11fff4e0  guix-build-953aa067c565/output/powerpc64-linux-gnu/SHA256SUMS.part
bc4e32c911a8ed7eea0b10e4b5cf4fdc7b98109bebbe7e14afa2a2e53285f0fa  guix-build-953aa067c565/output/powerpc64-linux-gnu/bitcoin-953aa067c565-powerpc64-linux-gnu-debug.tar.gz
3575cf0a74fe0a6e133c607797ab00ddc5f6065527ce0394a0a3c8fa841ef1e7  guix-build-953aa067c565/output/powerpc64-linux-gnu/bitcoin-953aa067c565-powerpc64-linux-gnu.tar.gz
a700d77e7590b135cb3532bbfaef6f8c27ca62c8231e5141afe6e5a794d3fc17  guix-build-953aa067c565/output/riscv64-linux-gnu/SHA256SUMS.part
3b0c1c3c94c7708ecea77d772f90239cb1214b8a700299b985b73764676858bd  guix-build-953aa067c565/output/riscv64-linux-gnu/bitcoin-953aa067c565-riscv64-linux-gnu-debug.tar.gz
afb8d5268772e9b930510187fd5cbbc6f40b46265290dfe0bbd09a10f5db7790  guix-build-953aa067c565/output/riscv64-linux-gnu/bitcoin-953aa067c565-riscv64-linux-gnu.tar.gz
578c713215654a9b62ae45284b880670e1d6068a027c32813c40ba716c5b4e80  guix-build-953aa067c565/output/x86_64-apple-darwin/SHA256SUMS.part
5dd6a1f023b26c2dca8d683b4caf84f8c85eee1f5a9864167338ec196ebba13f  guix-build-953aa067c565/output/x86_64-apple-darwin/bitcoin-953aa067c565-x86_64-apple-darwin-unsigned.tar.gz
919cdc33088161a299c14dd54588ff7be85bf17ebf1d322451a08bcd5ad26f89  guix-build-953aa067c565/output/x86_64-apple-darwin/bitcoin-953aa067c565-x86_64-apple-darwin-unsigned.zip
75b8158ee168dd423a6ec27feb977f2f0d0740a79827a4e9a1d6b81df3498002  guix-build-953aa067c565/output/x86_64-apple-darwin/bitcoin-953aa067c565-x86_64-apple-darwin.tar.gz
6350e63b33d0d96aa05d5c5ce609e2cfdf40d2cdcb21453964791e4481a7e992  guix-build-953aa067c565/output/x86_64-linux-gnu/SHA256SUMS.part
001fecc381e92ac1af001ee3a710584e823aceb848d84f08d05e875e853b24c4  guix-build-953aa067c565/output/x86_64-linux-gnu/bitcoin-953aa067c565-x86_64-linux-gnu-debug.tar.gz
eedee938d168aeac897ccdf85c970d63b27acd22fd2aa491fb0abb65c4e4de94  guix-build-953aa067c565/output/x86_64-linux-gnu/bitcoin-953aa067c565-x86_64-linux-gnu.tar.gz
b388fff8c467d965ef9b66c20d388fa07380dba70e58b5ca9e837895d2fc3a71  guix-build-953aa067c565/output/x86_64-w64-mingw32/SHA256SUMS.part
f080084caa711253b7efb4b9d0080b8bbea9a69792fb652b519a3205742ab36e  guix-build-953aa067c565/output/x86_64-w64-mingw32/bitcoin-953aa067c565-win64-debug.zip
4c4b472665e80f1c9555fe8591f4082f5967ed92aa9428007bbd25679e636005  guix-build-953aa067c565/output/x86_64-w64-mingw32/bitcoin-953aa067c565-win64-setup-unsigned.exe
280ee9e224c502a81e65237a9a4ce96f04e644577e584d0e68cdfb954538f499  guix-build-953aa067c565/output/x86_64-w64-mingw32/bitcoin-953aa067c565-win64-unsigned.tar.gz
a9e003992f668a97ee56f601f3631ea0613d7a2200cc11461abc18485d79f002  guix-build-953aa067c565/output/x86_64-w64-mingw32/bitcoin-953aa067c565-win64.zip

@Sjors
Copy link
Member

Sjors commented Sep 21, 2024

@hebasto can you rebase your 240921-guix-mp.DEMO branch so it builds directly on this PR? That makes it easier to compare guix builds.

I'll make a regular guix build for this PR first, without MULTIPROCESS=1.

@hebasto
Copy link
Member Author

hebasto commented Sep 21, 2024

@Sjors

can you rebase your 240921-guix-mp.DEMO branch so it builds directly on this PR? That makes it easier to compare guix builds.

Done. The PR description has been updated accordingly.

@Sjors
Copy link
Member

Sjors commented Sep 22, 2024

On this PR

x86_64

753aee81b01ff7a560a6c2c9ad64e2f3d3a535d0f5484364ea6b0f7ac7d8d595  guix-build-953aa067c565/output/aarch64-linux-gnu/SHA256SUMS.part
2eec13b0a0a28d16b9ec2b09908d6785666b49cd2076fd7b677259be0f30d624  guix-build-953aa067c565/output/aarch64-linux-gnu/bitcoin-953aa067c565-aarch64-linux-gnu-debug.tar.gz
732591be3acdc241d8d7a649bad755561dafe97839e00105682d962844acbe54  guix-build-953aa067c565/output/aarch64-linux-gnu/bitcoin-953aa067c565-aarch64-linux-gnu.tar.gz
279a5e977129a58cd743ac431ec1f6972db9db7e4ffaf3b755e0d0368c3e09f5  guix-build-953aa067c565/output/arm-linux-gnueabihf/SHA256SUMS.part
84b2f3311ef1aa017e06dc4e5700df01f7e27fbcf1e254f8abd027a8b47ea09c  guix-build-953aa067c565/output/arm-linux-gnueabihf/bitcoin-953aa067c565-arm-linux-gnueabihf-debug.tar.gz
c14df93dce9717c7502da304bae7f49385cd8c12c8405e490c0e55f9887e549b  guix-build-953aa067c565/output/arm-linux-gnueabihf/bitcoin-953aa067c565-arm-linux-gnueabihf.tar.gz
332292f301369d7442d8377d08d1d47f90865e912b7b4737539bad5878658736  guix-build-953aa067c565/output/arm64-apple-darwin/SHA256SUMS.part
d63904f9ad6999109fb5d79a22789accb09dd0d81b76ead73fc6135d410f0c1a  guix-build-953aa067c565/output/arm64-apple-darwin/bitcoin-953aa067c565-arm64-apple-darwin-unsigned.tar.gz
79b0787b0eaeca13cf892e52e077b8ea019cfa793babae7db50d76d73a24d032  guix-build-953aa067c565/output/arm64-apple-darwin/bitcoin-953aa067c565-arm64-apple-darwin-unsigned.zip
16c1b1903b538761ce8ad815b62f4e8429873fc97e5cba17a200054b7137ef0a  guix-build-953aa067c565/output/arm64-apple-darwin/bitcoin-953aa067c565-arm64-apple-darwin.tar.gz
1490148fb1df2ea9905803dc074757f0b984b953920e41d9898de46de641484d  guix-build-953aa067c565/output/dist-archive/bitcoin-953aa067c565.tar.gz
8c0f6348a8bba512d65cfbb4e88767b7a0b315e0d492d2ac8afedfcc11fff4e0  guix-build-953aa067c565/output/powerpc64-linux-gnu/SHA256SUMS.part
bc4e32c911a8ed7eea0b10e4b5cf4fdc7b98109bebbe7e14afa2a2e53285f0fa  guix-build-953aa067c565/output/powerpc64-linux-gnu/bitcoin-953aa067c565-powerpc64-linux-gnu-debug.tar.gz
3575cf0a74fe0a6e133c607797ab00ddc5f6065527ce0394a0a3c8fa841ef1e7  guix-build-953aa067c565/output/powerpc64-linux-gnu/bitcoin-953aa067c565-powerpc64-linux-gnu.tar.gz
a700d77e7590b135cb3532bbfaef6f8c27ca62c8231e5141afe6e5a794d3fc17  guix-build-953aa067c565/output/riscv64-linux-gnu/SHA256SUMS.part
3b0c1c3c94c7708ecea77d772f90239cb1214b8a700299b985b73764676858bd  guix-build-953aa067c565/output/riscv64-linux-gnu/bitcoin-953aa067c565-riscv64-linux-gnu-debug.tar.gz
afb8d5268772e9b930510187fd5cbbc6f40b46265290dfe0bbd09a10f5db7790  guix-build-953aa067c565/output/riscv64-linux-gnu/bitcoin-953aa067c565-riscv64-linux-gnu.tar.gz
578c713215654a9b62ae45284b880670e1d6068a027c32813c40ba716c5b4e80  guix-build-953aa067c565/output/x86_64-apple-darwin/SHA256SUMS.part
5dd6a1f023b26c2dca8d683b4caf84f8c85eee1f5a9864167338ec196ebba13f  guix-build-953aa067c565/output/x86_64-apple-darwin/bitcoin-953aa067c565-x86_64-apple-darwin-unsigned.tar.gz
919cdc33088161a299c14dd54588ff7be85bf17ebf1d322451a08bcd5ad26f89  guix-build-953aa067c565/output/x86_64-apple-darwin/bitcoin-953aa067c565-x86_64-apple-darwin-unsigned.zip
75b8158ee168dd423a6ec27feb977f2f0d0740a79827a4e9a1d6b81df3498002  guix-build-953aa067c565/output/x86_64-apple-darwin/bitcoin-953aa067c565-x86_64-apple-darwin.tar.gz
6350e63b33d0d96aa05d5c5ce609e2cfdf40d2cdcb21453964791e4481a7e992  guix-build-953aa067c565/output/x86_64-linux-gnu/SHA256SUMS.part
001fecc381e92ac1af001ee3a710584e823aceb848d84f08d05e875e853b24c4  guix-build-953aa067c565/output/x86_64-linux-gnu/bitcoin-953aa067c565-x86_64-linux-gnu-debug.tar.gz
eedee938d168aeac897ccdf85c970d63b27acd22fd2aa491fb0abb65c4e4de94  guix-build-953aa067c565/output/x86_64-linux-gnu/bitcoin-953aa067c565-x86_64-linux-gnu.tar.gz
b388fff8c467d965ef9b66c20d388fa07380dba70e58b5ca9e837895d2fc3a71  guix-build-953aa067c565/output/x86_64-w64-mingw32/SHA256SUMS.part
f080084caa711253b7efb4b9d0080b8bbea9a69792fb652b519a3205742ab36e  guix-build-953aa067c565/output/x86_64-w64-mingw32/bitcoin-953aa067c565-win64-debug.zip
4c4b472665e80f1c9555fe8591f4082f5967ed92aa9428007bbd25679e636005  guix-build-953aa067c565/output/x86_64-w64-mingw32/bitcoin-953aa067c565-win64-setup-unsigned.exe
280ee9e224c502a81e65237a9a4ce96f04e644577e584d0e68cdfb954538f499  guix-build-953aa067c565/output/x86_64-w64-mingw32/bitcoin-953aa067c565-win64-unsigned.tar.gz
a9e003992f668a97ee56f601f3631ea0613d7a2200cc11461abc18485d79f002  guix-build-953aa067c565/output/x86_64-w64-mingw32/bitcoin-953aa067c565-win64.zip

@Sjors
Copy link
Member

Sjors commented Sep 22, 2024

On the demo branch (without x86_64-w64-mingw32, see below):

MULTIPROCESS=1 ./contrib/guix/guix-build

c41f25fce469d9142210cfd57398423035fc41e68f3d052cb2f39c1493fc9a9d  guix-build-878cb237b717/output/aarch64-linux-gnu/SHA256SUMS.part
b11a40d0a61efd90d11d5d38c5c10bbb4b859f6da14d166669684b86b8993a8d  guix-build-878cb237b717/output/aarch64-linux-gnu/bitcoin-878cb237b717-aarch64-linux-gnu-debug.tar.gz
e577a60a76f9f3063fef2497651bf0a741a4f454620eba27e8f75e114b70da39  guix-build-878cb237b717/output/aarch64-linux-gnu/bitcoin-878cb237b717-aarch64-linux-gnu.tar.gz
a432e894a4a8d998b7a101bebfc58a377abaecfaaef97d96d93fffd714e1d163  guix-build-878cb237b717/output/arm-linux-gnueabihf/SHA256SUMS.part
0a08dc7dca2fd051d3a8b298326456788d98a9ce230a37e94aa61187f0521115  guix-build-878cb237b717/output/arm-linux-gnueabihf/bitcoin-878cb237b717-arm-linux-gnueabihf-debug.tar.gz
97f90701ad1ab9ec74eb8edef6e63f4be910d79a611a8f7a0561db0e4ca6f648  guix-build-878cb237b717/output/arm-linux-gnueabihf/bitcoin-878cb237b717-arm-linux-gnueabihf.tar.gz
27857319c1079c310bcaf0a7061b514971fb1a878847831fa94a1216cb6f34b3  guix-build-878cb237b717/output/arm64-apple-darwin/SHA256SUMS.part
49d0eabc382e69e00f507b0f249989eff8149587ffe0b830423c36a559d36565  guix-build-878cb237b717/output/arm64-apple-darwin/bitcoin-878cb237b717-arm64-apple-darwin-unsigned.tar.gz
1fb7ddfe2580a23ecfd15af65de6e5e084ebf0d559eaa8eb95365714d324eb3d  guix-build-878cb237b717/output/arm64-apple-darwin/bitcoin-878cb237b717-arm64-apple-darwin-unsigned.zip
4d39d7be8db058020c534e3204e7947bac3f64fe07ac8b110195a8e161190207  guix-build-878cb237b717/output/arm64-apple-darwin/bitcoin-878cb237b717-arm64-apple-darwin.tar.gz
96379dd49b1db9a092389b7adf7c178086f36126dfe2b31397849b57bd68aaa7  guix-build-878cb237b717/output/dist-archive/bitcoin-878cb237b717.tar.gz
4c7ce3cad4be3ee70beda5da65c03707af68415eea378e1985870a4a16ab9eaf  guix-build-878cb237b717/output/powerpc64-linux-gnu/SHA256SUMS.part
2a86bec1740ea479ca4905b9a1b14f5243110076a0cfa8f25e8357932e610c83  guix-build-878cb237b717/output/powerpc64-linux-gnu/bitcoin-878cb237b717-powerpc64-linux-gnu-debug.tar.gz
2f5e696744fd14f00c992756e8bebf58a066d1bfcf88dfccbe42a5a643ed7198  guix-build-878cb237b717/output/powerpc64-linux-gnu/bitcoin-878cb237b717-powerpc64-linux-gnu.tar.gz
466e812e8299c01a62d1a3cd5cb287dc3ce882b5284b8af08f45c8b139799c8a  guix-build-878cb237b717/output/riscv64-linux-gnu/SHA256SUMS.part
a5c9c1d5837e7b1ab136c261b9865ce3a2dbe23b45980fe15a9c44970582146b  guix-build-878cb237b717/output/riscv64-linux-gnu/bitcoin-878cb237b717-riscv64-linux-gnu-debug.tar.gz
91e248596752017878f81ed85eece94535e69c35d0e9ce8357c269f0dc7a383a  guix-build-878cb237b717/output/riscv64-linux-gnu/bitcoin-878cb237b717-riscv64-linux-gnu.tar.gz
ffdc6f44c9768d277738c51fc943215915d6410cd1442d5d7c43a878593401f5  guix-build-878cb237b717/output/x86_64-apple-darwin/SHA256SUMS.part
76edf927e8a2b928f517b1722ecc8689b7b20c13d12df063fd058bd19bf8c373  guix-build-878cb237b717/output/x86_64-apple-darwin/bitcoin-878cb237b717-x86_64-apple-darwin-unsigned.tar.gz
5eb71d759593d50849fc03546742facade3d5b956cd17f10398d259b9cb57b08  guix-build-878cb237b717/output/x86_64-apple-darwin/bitcoin-878cb237b717-x86_64-apple-darwin-unsigned.zip
64289038b111dfc26420d912a65cde4702abddff24a0245804f5e357f430746e  guix-build-878cb237b717/output/x86_64-apple-darwin/bitcoin-878cb237b717-x86_64-apple-darwin.tar.gz
e50a278567866f3adf251958e8840f5f1330b0bab314b501451412b3e09d3440  guix-build-878cb237b717/output/x86_64-linux-gnu/SHA256SUMS.part
0329693191416d3ed3efda08a0d3e41149bcc2d52182048aa447765cce3425f2  guix-build-878cb237b717/output/x86_64-linux-gnu/bitcoin-878cb237b717-x86_64-linux-gnu-debug.tar.gz
f7d4f900d53db09d4958363382e75fe169a97ef4996743b5a96f6c8b9d18b800  guix-build-878cb237b717/output/x86_64-linux-gnu/bitcoin-878cb237b717-x86_64-linux-gnu.tar.gz

It fails for x86_64-w64-mingw32:

[ 20%] Building CXX object CMakeFiles/util.dir/src/mp/util.cpp.obj
/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/c1b4ab4eb897d3af09bc9b3cc30e2e6fff87f3e2-79146c14ac6/src/mp/util.cpp:13:10: fatal error: sys/resource.h: No such file or directory
   13 | #include <sys/resource.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [CMakeFiles/util.dir/build.make:77: CMakeFiles/util.dir/src/mp/util.cpp.obj] Error 1
make[4]: Leaving directory '/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/c1b4ab4eb897d3af09bc9b3cc30e2e6fff87f3e2-79146c14ac6'
make[3]: *** [CMakeFiles/Makefile2:156: CMakeFiles/util.dir/all] Error 2
make[3]: Leaving directory '/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/c1b4ab4eb897d3af09bc9b3cc30e2e6fff87f3e2-79146c14ac6'
make[2]: *** [CMakeFiles/Makefile2:189: CMakeFiles/multiprocess.dir/rule] Error 2
make[2]: Leaving directory '/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/c1b4ab4eb897d3af09bc9b3cc30e2e6fff87f3e2-79146c14ac6'
make[1]: *** [Makefile:182: multiprocess] Error 2
make[1]: Leaving directory '/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/c1b4ab4eb897d3af09bc9b3cc30e2e6fff87f3e2-79146c14ac6'
make: *** [funcs.mk:301: /bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/c1b4ab4eb897d3af09bc9b3cc30e2e6fff87f3e2-79146c14ac6/./.stamp_built] Error 2
make: Leaving directory '/bitcoin/depends'

Not sure if that platform is supposed to work at all, cc @ryanofsky, but if not, the Guix and/or depends build process should imo complain about that earlier.

@hebasto
Copy link
Member Author

hebasto commented Sep 23, 2024

Not sure if that platform is supposed to work at all, cc @ryanofsky, but if not, the Guix and/or depends build process should imo complain about that earlier.

MIght be related: bitcoin-core/libmultiprocess#53.

@hebasto
Copy link
Member Author

hebasto commented Sep 23, 2024

For the x86_64-linux-gnu host, builds are non-deterministic:

  • mine, aarch64:
dde3c647c0121f5f0623c8edffe4bc3fccf79bf1195752b3c51362fc35904e4f  guix-build-878cb237b717/output/x86_64-linux-gnu/bitcoin-878cb237b717-x86_64-linux-gnu.tar.gz
f7d4f900d53db09d4958363382e75fe169a97ef4996743b5a96f6c8b9d18b800  guix-build-878cb237b717/output/x86_64-linux-gnu/bitcoin-878cb237b717-x86_64-linux-gnu.tar.gz

@fanquake
Copy link
Member

Not sure I understand this fix yet, and it seems like there are some other depends changes here, for what I would have expected to be a fixup in libmultiprocess (either in how it's installed, or how we are searching for it in CMake)?

In 38bc046:

which in turn facilitates the use of depends
in scenarios where building depends is a separate step, such as on
NixOS.

Building depends is always it's own/a separate step. Not really clear what this means? As far as I'm aware, building depends also already works on NixOS (or at least it did last time I tested it).

This causes CMake to search for package configurations in the native subdirectory first.

This is the correct behaviour as far as we are concerned right? The PR description and commit message in 953aa06 make it sound like this is something we're now trying to work around. Also, if CMake is looking in some place "first", shouldn't it then be falling back to look somewhere else second, rather than failing immediately (as seems to be the case here).

In the Guix environment, `${BASEPREFIX}/${HOST}/native/bin` is added to
the `PATH` environment variable, causing CMake to search for package
configurations in the `native` subdirectory first.

Explicitly specifying the top-priority search prefixes for the
`Libmultiprocess` and `LibmultiprocessNative` packages resolves the
issue.
@hebasto
Copy link
Member Author

hebasto commented Sep 23, 2024

Not sure I understand this fix yet, and it seems like there are some other depends changes here, for what I would have expected to be a fixup in libmultiprocess (either in how it's installed, or how we are searching for it in CMake)?

Dropped the first refactoring commit after the off-line discussion with @fanquake.

@Sjors
Copy link
Member

Sjors commented Sep 23, 2024

Dropped the first refactoring commit

Do you think that was the cause of the indeterminism, or are you still investigating that? (might be a followup)

This branch MULTIPROCESS=0:

x86_64
bfaa20403bf3ee4c1ef89c102444957296adf672a79ffd6c8b483f7d0e5cc2a8  guix-build-d8e3afc3352a/output/aarch64-linux-gnu/SHA256SUMS.part
e02da874c1cb6950747b9a54ec1ad8b63b09c62540c276f6a900d44987eabd4b  guix-build-d8e3afc3352a/output/aarch64-linux-gnu/bitcoin-d8e3afc3352a-aarch64-linux-gnu-debug.tar.gz
a22d1edb297e51c1c8b8ee3333eb5f209b8ed42703e6f9c0f312529465474817  guix-build-d8e3afc3352a/output/aarch64-linux-gnu/bitcoin-d8e3afc3352a-aarch64-linux-gnu.tar.gz
d772fea41bfa182f3f0ddeef2bb65a425e63d73a89a1b894d720272773ef4671  guix-build-d8e3afc3352a/output/arm-linux-gnueabihf/SHA256SUMS.part
29fa49459b663bc0709f38683360135a040006e1529cb93c575a2eb9e40d1a0f  guix-build-d8e3afc3352a/output/arm-linux-gnueabihf/bitcoin-d8e3afc3352a-arm-linux-gnueabihf-debug.tar.gz
a61c5749360b985a988c71ddddeda2654257abfc0cba72acc1c0426a28b0e1b8  guix-build-d8e3afc3352a/output/arm-linux-gnueabihf/bitcoin-d8e3afc3352a-arm-linux-gnueabihf.tar.gz
e4a00dcfecf581fa984417887d74e66aa909788d1ea127713e62215c5e2c6f03  guix-build-d8e3afc3352a/output/arm64-apple-darwin/SHA256SUMS.part
7334890d40984488fbc01fbfeaf0684ae218b97d5cb2032c53cca632c948dc2a  guix-build-d8e3afc3352a/output/arm64-apple-darwin/bitcoin-d8e3afc3352a-arm64-apple-darwin-unsigned.tar.gz
1027ba0678f83e6547cff26a985e0bccfbdf36a79dc871eea629d3ce9dc64e61  guix-build-d8e3afc3352a/output/arm64-apple-darwin/bitcoin-d8e3afc3352a-arm64-apple-darwin-unsigned.zip
a77c3c851eb5e4e7f2f69767274d8c34cde4fb92cf5239026655e4daaed8ea9b  guix-build-d8e3afc3352a/output/arm64-apple-darwin/bitcoin-d8e3afc3352a-arm64-apple-darwin.tar.gz
0e2311596ba061221c1aeb44889beb7b51726dd0ca23a68caf888213ac9bce5c  guix-build-d8e3afc3352a/output/dist-archive/bitcoin-d8e3afc3352a.tar.gz
f95791b624d811029129988fdd171675accd7c57fa4d077b845e43116077a285  guix-build-d8e3afc3352a/output/powerpc64-linux-gnu/SHA256SUMS.part
b5cd800c5652f702d7ac46999fdf120c77ec52dffd7a5f639c6b9794e9aec825  guix-build-d8e3afc3352a/output/powerpc64-linux-gnu/bitcoin-d8e3afc3352a-powerpc64-linux-gnu-debug.tar.gz
aec2201d30ed04c0da8b1387a46fcb70f437341e8b1c53afc846a4b1a55876aa  guix-build-d8e3afc3352a/output/powerpc64-linux-gnu/bitcoin-d8e3afc3352a-powerpc64-linux-gnu.tar.gz
fe4ac26e6eb0a021fc02f91905513ff4f7c2338f84413fe12f7d5ffafcd61378  guix-build-d8e3afc3352a/output/riscv64-linux-gnu/SHA256SUMS.part
bab8c4152193344eea4000a068dc9ac0e5a26bf978db43725bbeffa0983b7e54  guix-build-d8e3afc3352a/output/riscv64-linux-gnu/bitcoin-d8e3afc3352a-riscv64-linux-gnu-debug.tar.gz
8750da1c00262782a93d4d9f315938c0a6602cd2c2777dd351f2a1333ed5e16a  guix-build-d8e3afc3352a/output/riscv64-linux-gnu/bitcoin-d8e3afc3352a-riscv64-linux-gnu.tar.gz
33e55b3bd700edfd5bb818d7c7ef7ef3f1d3b0d86aec9936d0460d8270f6e3ec  guix-build-d8e3afc3352a/output/x86_64-apple-darwin/SHA256SUMS.part
cde54231fc65d3b5f3cc40e8eee7f853d16005b99135ce79006d3169232b2092  guix-build-d8e3afc3352a/output/x86_64-apple-darwin/bitcoin-d8e3afc3352a-x86_64-apple-darwin-unsigned.tar.gz
9d1af30a2d96fdce2b3ff0880e6f2d056450fbd21a86c8f548db869f12ecc0bc  guix-build-d8e3afc3352a/output/x86_64-apple-darwin/bitcoin-d8e3afc3352a-x86_64-apple-darwin-unsigned.zip
93f7197dde355f8cef1b8c24aa7f4ecd35a34267d156dbb9ee83f98839ea4559  guix-build-d8e3afc3352a/output/x86_64-apple-darwin/bitcoin-d8e3afc3352a-x86_64-apple-darwin.tar.gz
c46b0811e99a10d78f4279b1817e38624434ed8a236f7cb3db95551cd8b10221  guix-build-d8e3afc3352a/output/x86_64-linux-gnu/SHA256SUMS.part
8b23f1a9726a1d71edc86780e5edfee1f2d90de460de9884845dad268984c61b  guix-build-d8e3afc3352a/output/x86_64-linux-gnu/bitcoin-d8e3afc3352a-x86_64-linux-gnu-debug.tar.gz
115983c7d91b4d25de39e5ece75f837eb0ff8425e68c6d7b7002fb8a2138a55c  guix-build-d8e3afc3352a/output/x86_64-linux-gnu/bitcoin-d8e3afc3352a-x86_64-linux-gnu.tar.gz
331c80a06dbed7c9b462f2d05bdbfcdb936eeb00ee07b5d86a87ab34c8e24ebc  guix-build-d8e3afc3352a/output/x86_64-w64-mingw32/SHA256SUMS.part
f4da4dc9e4b0e2bd3c41105967255f5faa76b70372b87a64c44086a7f6d34825  guix-build-d8e3afc3352a/output/x86_64-w64-mingw32/bitcoin-d8e3afc3352a-win64-debug.zip
1f2d3f89b26b907c46e7b448655341c39be708ee872e415186e873af7c7bf9e6  guix-build-d8e3afc3352a/output/x86_64-w64-mingw32/bitcoin-d8e3afc3352a-win64-setup-unsigned.exe
226de35527d8892ece8162cb0f48701fb5a1eb6125f2e28f11c7ebd35824333c  guix-build-d8e3afc3352a/output/x86_64-w64-mingw32/bitcoin-d8e3afc3352a-win64-unsigned.tar.gz
c4ca5fd6b11fb298d979835a9aca4d32ce9613cf2e95e5075a221649395bf574  guix-build-d8e3afc3352a/output/x86_64-w64-mingw32/bitcoin-d8e3afc3352a-win64.zip

Demo branch MULTIPROCESS=1 and without x86_64-w64-mingw32:

x86_64
(abort due to update)

@hebasto
Copy link
Member Author

hebasto commented Sep 23, 2024

Dropped the first refactoring commit

Do you think that was the cause of the indeterminism, or are you still investigating that? (might be a followup)

Another commit with a fix for indeterminism has been pushed.

The PR description has been updated accordingly.

Copy link
Contributor

@ryanofsky ryanofsky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review ACK 06b4c33

This causes CMake to search for package configurations in the native subdirectory first.

This is the correct behaviour as far as we are concerned right?

I think the problem here is not that that cmake is searching the native directory first, but that it is searching the native directory only for the libmultiprocess runtime library, which is cross compiled, and can't be found in the native prefix.

The fix in d8e3afc seems like a good change since it explicitly points cmake to right directories for both native and cross compiled packages, but there are a number of things here I'm wondering about:

  1. The current fix d8e3afc seems good because it sets directory paths for both packages, not just the native package. But I don't understand why it is switching from _DIR variables to _ROOT variables. According to https://chatgpt.com/c/66f16a25-c068-800a-bba6-36d030d42869 both approaches seem roughly equivalent, but I don't understand if there was another reason to switch from _DIR to _ROOT.

  2. I don't understand why "In the Guix environment, ${BASEPREFIX}/${HOST}/native/bin is added to the PATH environment variable," according to the description. Setting this seems indiscriminate, like a sledgehammer approach, something that would cause the guix build to behave differently from normal depends builds and lead to confusing issues like this one.

  3. Indirectly related to this issue: I don't understand why depends toolchain is setting set(CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH OFF). I use a shell.nix file to set up a build environment for bitcoin and this setting make it hard to use depends because it makes cmake ignore the CMAKE_INCLUDE_PATH / CMAKE_PREFIX_PATH / CMAKE_LIBRARY_PATH variables constructed in the nix environment to allow cmake to find dependencies.

(2) and (3) both seem like cases of guix and depends builds doing unusual things that cause them to interoperate poorly, without clear reasons for doing those things.

  1. I think dropped commit 38bc046 is a good change and would be nice to add to a separate PR. The change is good because it makes toolchain file more readable, getting rid of unnecessary @depends_prefix@ variable making it obvious that paths just are relative to the toolchain file. It also seems like a good change because it stops abusing the CMAKE_FIND_ROOT_PATH variable and treating it like a single path when it is actually a list of paths.

@hebasto
Copy link
Member Author

hebasto commented Sep 23, 2024

  1. I don't understand why "In the Guix environment, ${BASEPREFIX}/${HOST}/native/bin is added to the PATH environment variable," according to the description. Setting this seems indiscriminate, like a sledgehammer approach, something that would cause the guix build to behave differently from normal depends builds and lead to confusing issues like this one.

I believe it was required when the macOS toolchain was built in depends. We can investigate this issue separately, can't we?

@hebasto
Copy link
Member Author

hebasto commented Sep 23, 2024

My Guix build:

aarch64
8868809b50ea77b47c45c1cdf802e85540d9428f182773b1cd7e5d73750dce87  guix-build-06b4c339e89e/output/aarch64-linux-gnu/SHA256SUMS.part
fccf8cf14ca3d3ee7812f254d10eb17e62c507f5b2606c6b099c5d00ed5d3446  guix-build-06b4c339e89e/output/aarch64-linux-gnu/bitcoin-06b4c339e89e-aarch64-linux-gnu-debug.tar.gz
2d7cf4959e238fae666476db1cd11112c77708a58bb9d5cd1e0c7986c8c477a6  guix-build-06b4c339e89e/output/aarch64-linux-gnu/bitcoin-06b4c339e89e-aarch64-linux-gnu.tar.gz
22d7016c186928f517a3b69db90d01b2eed3b15b9ecaa53cab5c5cb35d3974d3  guix-build-06b4c339e89e/output/arm-linux-gnueabihf/SHA256SUMS.part
a77e95ce28b755f7aeb5d6bca0e084a17d78dca755bb7e21e854ad2c7324fd7c  guix-build-06b4c339e89e/output/arm-linux-gnueabihf/bitcoin-06b4c339e89e-arm-linux-gnueabihf-debug.tar.gz
c08fdd60e0b4ba56245fc5e4a50d7537d180fe682108137e951b13c793744bc8  guix-build-06b4c339e89e/output/arm-linux-gnueabihf/bitcoin-06b4c339e89e-arm-linux-gnueabihf.tar.gz
f3b6dcdf7a05ca1faa3bbfb01721fddd801070b85ddbdd84d6bb4ecc61b24aac  guix-build-06b4c339e89e/output/arm64-apple-darwin/SHA256SUMS.part
7877c5d19c602fd85192ba398284e2447f898b1cacc9b9321cb6392b5e451864  guix-build-06b4c339e89e/output/arm64-apple-darwin/bitcoin-06b4c339e89e-arm64-apple-darwin-unsigned.tar.gz
68acba090e08e71fbc3734673cc649a361de9117692db76ec8aa8f17f4952ea0  guix-build-06b4c339e89e/output/arm64-apple-darwin/bitcoin-06b4c339e89e-arm64-apple-darwin-unsigned.zip
76d6b38655a2e52079ebcf108c2e9c4ad99ffd76efa7382f8425be043930b7dc  guix-build-06b4c339e89e/output/arm64-apple-darwin/bitcoin-06b4c339e89e-arm64-apple-darwin.tar.gz
04266bb6fb00caf81afc62df9dae9ca39d8e2da788a093f7d722b4d7038c8a3f  guix-build-06b4c339e89e/output/dist-archive/bitcoin-06b4c339e89e.tar.gz
ccd67910dc8e7e9d499cdb4914b0c6bcb2fce70902f02b17ec1b789134d7520e  guix-build-06b4c339e89e/output/powerpc64-linux-gnu/SHA256SUMS.part
4e42474ae55caa372fadc8d4552944175e4405b8aa1cb6d7f299450aa47b6862  guix-build-06b4c339e89e/output/powerpc64-linux-gnu/bitcoin-06b4c339e89e-powerpc64-linux-gnu-debug.tar.gz
ca8f7c6fde62db3c8147539f060b6f67ffb28c072127166cd55042804d390613  guix-build-06b4c339e89e/output/powerpc64-linux-gnu/bitcoin-06b4c339e89e-powerpc64-linux-gnu.tar.gz
4fa8f97503783a1dfdf79133a0c7d98af381203064a83620d357ffcdb0192f12  guix-build-06b4c339e89e/output/riscv64-linux-gnu/SHA256SUMS.part
80684fa83f4b9cf7e9514eca0828901643d73efe7ff0651d97eed4dab7353172  guix-build-06b4c339e89e/output/riscv64-linux-gnu/bitcoin-06b4c339e89e-riscv64-linux-gnu-debug.tar.gz
56bfacda24dc665078ba9242c89a9a429705a35298f6fa123bcb257ea7ec7964  guix-build-06b4c339e89e/output/riscv64-linux-gnu/bitcoin-06b4c339e89e-riscv64-linux-gnu.tar.gz
9725713bfda6b9288936aba7ab1598b77275b975628061a5c76f613bf959f60a  guix-build-06b4c339e89e/output/x86_64-apple-darwin/SHA256SUMS.part
c01a581746d53ac316cd20cbc8504dcdff37a0aa3ded92023fbbb3220782712f  guix-build-06b4c339e89e/output/x86_64-apple-darwin/bitcoin-06b4c339e89e-x86_64-apple-darwin-unsigned.tar.gz
d1527ef633352089ae823405377af88e469a08aaed04b7f1c40b6f5d7db93d6d  guix-build-06b4c339e89e/output/x86_64-apple-darwin/bitcoin-06b4c339e89e-x86_64-apple-darwin-unsigned.zip
ffbc384aa5b401246a4f5a3e6879bb03566e13eb215662e3ef381b90eba1c141  guix-build-06b4c339e89e/output/x86_64-apple-darwin/bitcoin-06b4c339e89e-x86_64-apple-darwin.tar.gz
50bc20c2256ff9209d2c095a862be00a6c8259acbb54d3c40f76019a34e9af6b  guix-build-06b4c339e89e/output/x86_64-linux-gnu/SHA256SUMS.part
9329c9c322240b8cc189d9389996feffd249c949daad0ad87167b0f50f196ebe  guix-build-06b4c339e89e/output/x86_64-linux-gnu/bitcoin-06b4c339e89e-x86_64-linux-gnu-debug.tar.gz
0d46f3124764daf22aabcebaa24dd63df4e804b74ea1e66251c53d36ef8af0e2  guix-build-06b4c339e89e/output/x86_64-linux-gnu/bitcoin-06b4c339e89e-x86_64-linux-gnu.tar.gz
a13668ea24fc71065d1647ce0c2f75b883818dc20ee06c40a8ae35227bbb295c  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/SHA256SUMS.part
64ec47382e2e771451b9976f1729593be20687ff92dcfa0526c3fb255c0c734a  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/bitcoin-06b4c339e89e-win64-debug.zip
9d6f9a971ee70a5ad7c6e3c425b0d6b3b0d80604b39198ba60821148fe7d75e4  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/bitcoin-06b4c339e89e-win64-setup-unsigned.exe
1e255cddf39f1d7a1b0d5c92ed71d9a5d2da92af476ae50071e873eb5ee4c30a  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/bitcoin-06b4c339e89e-win64-unsigned.tar.gz
e34c7c07343f6f4a055edad66d7d9903025134e9028bde7d2673a9782d23e31a  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/bitcoin-06b4c339e89e-win64.zip

@hebasto
Copy link
Member Author

hebasto commented Sep 23, 2024

  1. Indirectly related to this issue: I don't understand why depends toolchain is setting set(CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH OFF). I use a shell.nix file to set up a build environment for bitcoin and this setting make it hard to use depends because it makes cmake ignore the CMAKE_INCLUDE_PATH / CMAKE_PREFIX_PATH / CMAKE_LIBRARY_PATH variables constructed in the nix environment to allow cmake to find dependencies.

I vaguely recall that while working on the CMake staging branch, this line prevented scenarios where, when using depends for the same architecture as the build platform, host packages were considered instead of the ones being built in depends.

I cannot provide a reproducible example at this moment.

@Sjors
Copy link
Member

Sjors commented Sep 23, 2024

This branch MULTIPROCESS=0:

x86_64
8868809b50ea77b47c45c1cdf802e85540d9428f182773b1cd7e5d73750dce87  guix-build-06b4c339e89e/output/aarch64-linux-gnu/SHA256SUMS.part
fccf8cf14ca3d3ee7812f254d10eb17e62c507f5b2606c6b099c5d00ed5d3446  guix-build-06b4c339e89e/output/aarch64-linux-gnu/bitcoin-06b4c339e89e-aarch64-linux-gnu-debug.tar.gz
2d7cf4959e238fae666476db1cd11112c77708a58bb9d5cd1e0c7986c8c477a6  guix-build-06b4c339e89e/output/aarch64-linux-gnu/bitcoin-06b4c339e89e-aarch64-linux-gnu.tar.gz
22d7016c186928f517a3b69db90d01b2eed3b15b9ecaa53cab5c5cb35d3974d3  guix-build-06b4c339e89e/output/arm-linux-gnueabihf/SHA256SUMS.part
a77e95ce28b755f7aeb5d6bca0e084a17d78dca755bb7e21e854ad2c7324fd7c  guix-build-06b4c339e89e/output/arm-linux-gnueabihf/bitcoin-06b4c339e89e-arm-linux-gnueabihf-debug.tar.gz
c08fdd60e0b4ba56245fc5e4a50d7537d180fe682108137e951b13c793744bc8  guix-build-06b4c339e89e/output/arm-linux-gnueabihf/bitcoin-06b4c339e89e-arm-linux-gnueabihf.tar.gz
f3b6dcdf7a05ca1faa3bbfb01721fddd801070b85ddbdd84d6bb4ecc61b24aac  guix-build-06b4c339e89e/output/arm64-apple-darwin/SHA256SUMS.part
7877c5d19c602fd85192ba398284e2447f898b1cacc9b9321cb6392b5e451864  guix-build-06b4c339e89e/output/arm64-apple-darwin/bitcoin-06b4c339e89e-arm64-apple-darwin-unsigned.tar.gz
68acba090e08e71fbc3734673cc649a361de9117692db76ec8aa8f17f4952ea0  guix-build-06b4c339e89e/output/arm64-apple-darwin/bitcoin-06b4c339e89e-arm64-apple-darwin-unsigned.zip
76d6b38655a2e52079ebcf108c2e9c4ad99ffd76efa7382f8425be043930b7dc  guix-build-06b4c339e89e/output/arm64-apple-darwin/bitcoin-06b4c339e89e-arm64-apple-darwin.tar.gz
04266bb6fb00caf81afc62df9dae9ca39d8e2da788a093f7d722b4d7038c8a3f  guix-build-06b4c339e89e/output/dist-archive/bitcoin-06b4c339e89e.tar.gz
ccd67910dc8e7e9d499cdb4914b0c6bcb2fce70902f02b17ec1b789134d7520e  guix-build-06b4c339e89e/output/powerpc64-linux-gnu/SHA256SUMS.part
4e42474ae55caa372fadc8d4552944175e4405b8aa1cb6d7f299450aa47b6862  guix-build-06b4c339e89e/output/powerpc64-linux-gnu/bitcoin-06b4c339e89e-powerpc64-linux-gnu-debug.tar.gz
ca8f7c6fde62db3c8147539f060b6f67ffb28c072127166cd55042804d390613  guix-build-06b4c339e89e/output/powerpc64-linux-gnu/bitcoin-06b4c339e89e-powerpc64-linux-gnu.tar.gz
4fa8f97503783a1dfdf79133a0c7d98af381203064a83620d357ffcdb0192f12  guix-build-06b4c339e89e/output/riscv64-linux-gnu/SHA256SUMS.part
80684fa83f4b9cf7e9514eca0828901643d73efe7ff0651d97eed4dab7353172  guix-build-06b4c339e89e/output/riscv64-linux-gnu/bitcoin-06b4c339e89e-riscv64-linux-gnu-debug.tar.gz
56bfacda24dc665078ba9242c89a9a429705a35298f6fa123bcb257ea7ec7964  guix-build-06b4c339e89e/output/riscv64-linux-gnu/bitcoin-06b4c339e89e-riscv64-linux-gnu.tar.gz
9725713bfda6b9288936aba7ab1598b77275b975628061a5c76f613bf959f60a  guix-build-06b4c339e89e/output/x86_64-apple-darwin/SHA256SUMS.part
c01a581746d53ac316cd20cbc8504dcdff37a0aa3ded92023fbbb3220782712f  guix-build-06b4c339e89e/output/x86_64-apple-darwin/bitcoin-06b4c339e89e-x86_64-apple-darwin-unsigned.tar.gz
d1527ef633352089ae823405377af88e469a08aaed04b7f1c40b6f5d7db93d6d  guix-build-06b4c339e89e/output/x86_64-apple-darwin/bitcoin-06b4c339e89e-x86_64-apple-darwin-unsigned.zip
ffbc384aa5b401246a4f5a3e6879bb03566e13eb215662e3ef381b90eba1c141  guix-build-06b4c339e89e/output/x86_64-apple-darwin/bitcoin-06b4c339e89e-x86_64-apple-darwin.tar.gz
50bc20c2256ff9209d2c095a862be00a6c8259acbb54d3c40f76019a34e9af6b  guix-build-06b4c339e89e/output/x86_64-linux-gnu/SHA256SUMS.part
9329c9c322240b8cc189d9389996feffd249c949daad0ad87167b0f50f196ebe  guix-build-06b4c339e89e/output/x86_64-linux-gnu/bitcoin-06b4c339e89e-x86_64-linux-gnu-debug.tar.gz
0d46f3124764daf22aabcebaa24dd63df4e804b74ea1e66251c53d36ef8af0e2  guix-build-06b4c339e89e/output/x86_64-linux-gnu/bitcoin-06b4c339e89e-x86_64-linux-gnu.tar.gz
a13668ea24fc71065d1647ce0c2f75b883818dc20ee06c40a8ae35227bbb295c  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/SHA256SUMS.part
64ec47382e2e771451b9976f1729593be20687ff92dcfa0526c3fb255c0c734a  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/bitcoin-06b4c339e89e-win64-debug.zip
9d6f9a971ee70a5ad7c6e3c425b0d6b3b0d80604b39198ba60821148fe7d75e4  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/bitcoin-06b4c339e89e-win64-setup-unsigned.exe
1e255cddf39f1d7a1b0d5c92ed71d9a5d2da92af476ae50071e873eb5ee4c30a  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/bitcoin-06b4c339e89e-win64-unsigned.tar.gz
e34c7c07343f6f4a055edad66d7d9903025134e9028bde7d2673a9782d23e31a  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/bitcoin-06b4c339e89e-win64.zip

Demo branch MULTIPROCESS=1 and without x86_64-w64-mingw32:

x86_64
e31ab0eeff88048301f113731a9b829df63e7db2c6a83c3a54e14b6f423aa4a8  guix-build-d8ec933456bc/output/aarch64-linux-gnu/SHA256SUMS.part
77f4a9481b4ce7df26549c6001384e066a1de3cb1b81ba950c29cc41b0b5c058  guix-build-d8ec933456bc/output/aarch64-linux-gnu/bitcoin-d8ec933456bc-aarch64-linux-gnu-debug.tar.gz
ee471d630ea0eb71c2040a3b9e408c4f1709ee29d2da4ecbc1931d93b67e5495  guix-build-d8ec933456bc/output/aarch64-linux-gnu/bitcoin-d8ec933456bc-aarch64-linux-gnu.tar.gz
9744317e6629543dc888151742d55d0dfdb6f8776c5f5d163b10e79050c3880e  guix-build-d8ec933456bc/output/arm-linux-gnueabihf/SHA256SUMS.part
a2883ba1b6580f3f2b36ffc20b07fa75f0ca7bc6ca49bfc21f3848db9fcf0397  guix-build-d8ec933456bc/output/arm-linux-gnueabihf/bitcoin-d8ec933456bc-arm-linux-gnueabihf-debug.tar.gz
1d99a254ae6399057ea2217fe0c9768ae291f88ec15c0cb65b8a22e122e3a85a  guix-build-d8ec933456bc/output/arm-linux-gnueabihf/bitcoin-d8ec933456bc-arm-linux-gnueabihf.tar.gz
1046592530177d4277ca3dff6ac19f456b44f665db8d795d4f0ae76020a99524  guix-build-d8ec933456bc/output/arm64-apple-darwin/SHA256SUMS.part
08bbbe7981d01452a25f2ca508e32a969bf5045e39eed36ff7905137ec1d66b9  guix-build-d8ec933456bc/output/arm64-apple-darwin/bitcoin-d8ec933456bc-arm64-apple-darwin-unsigned.tar.gz
7b6817f6155911af5a570abc152af197d70401bad1bb072efd6491c82c53f454  guix-build-d8ec933456bc/output/arm64-apple-darwin/bitcoin-d8ec933456bc-arm64-apple-darwin-unsigned.zip
f4189e3cbb57212a6abd26f90a82fc531d72ada53e75388a962f3d1a9275c09a  guix-build-d8ec933456bc/output/arm64-apple-darwin/bitcoin-d8ec933456bc-arm64-apple-darwin.tar.gz
70d482a09099931345888a918df5ccc78a0c742b1d18bb8a5d442af9b2717867  guix-build-d8ec933456bc/output/dist-archive/bitcoin-d8ec933456bc.tar.gz
9dad508d7a88f3f1392912a0450ebcd9faa6bd9e1d7a05ed5b70b4609f98dd32  guix-build-d8ec933456bc/output/powerpc64-linux-gnu/SHA256SUMS.part
695ce97c3aa0653199cc8faa72fab94748f8d86ef2e1112e2d0bb1d859eff266  guix-build-d8ec933456bc/output/powerpc64-linux-gnu/bitcoin-d8ec933456bc-powerpc64-linux-gnu-debug.tar.gz
d36c8b7fcb8767e34da7a2b3a94cbd80d4127561fca9e369a276bba877e54d23  guix-build-d8ec933456bc/output/powerpc64-linux-gnu/bitcoin-d8ec933456bc-powerpc64-linux-gnu.tar.gz
427ebc830b497f9eb91a1e8a16f6aab502625c5cde413f8d004f34525ce14b2e  guix-build-d8ec933456bc/output/riscv64-linux-gnu/SHA256SUMS.part
30ecfa479f73fce75de85a1c47df69fafb42db39f434c350a3c1400cd4c299c5  guix-build-d8ec933456bc/output/riscv64-linux-gnu/bitcoin-d8ec933456bc-riscv64-linux-gnu-debug.tar.gz
30a647dc75a96547170ec97e9a8523e7b97ef1db08ac61ef447ad17e4d6e32e4  guix-build-d8ec933456bc/output/riscv64-linux-gnu/bitcoin-d8ec933456bc-riscv64-linux-gnu.tar.gz
3994475a244829ecdf355d435e0550eb1677d4bb22f0cb974ba11d2f55f6333d  guix-build-d8ec933456bc/output/x86_64-apple-darwin/SHA256SUMS.part
38c4915df15fb41238c9fb2ba9186757b8b38dcd4700bf7383a116945f44f806  guix-build-d8ec933456bc/output/x86_64-apple-darwin/bitcoin-d8ec933456bc-x86_64-apple-darwin-unsigned.tar.gz
c5cf271a16e7597ba585de8c73770fb1ada459749a08dd4aa1d12fcc169a9378  guix-build-d8ec933456bc/output/x86_64-apple-darwin/bitcoin-d8ec933456bc-x86_64-apple-darwin-unsigned.zip
dfa4f1e060bd1980caaaff950051b7e119408bb560de77f1e1efacee7416a7b5  guix-build-d8ec933456bc/output/x86_64-apple-darwin/bitcoin-d8ec933456bc-x86_64-apple-darwin.tar.gz
ea9465517c0e1cc559a6a353f404b2bf47447332c918b69410dc51b6c4fbdedc  guix-build-d8ec933456bc/output/x86_64-linux-gnu/SHA256SUMS.part
f83a296139d0757abc47d053b8fddebc6d2ccc36dabea9b2d52883d23ba923bb  guix-build-d8ec933456bc/output/x86_64-linux-gnu/bitcoin-d8ec933456bc-x86_64-linux-gnu-debug.tar.gz
81aed48bece8d9bf5327530763c17d73dd66d5a3c666cbaf9381c03d4a660845  guix-build-d8ec933456bc/output/x86_64-linux-gnu/bitcoin-d8ec933456bc-x86_64-linux-gnu.tar.gz

@hebasto
Copy link
Member Author

hebasto commented Sep 23, 2024

I don't understand why it is switching from _DIR variables to _ROOT variables. According to https://chatgpt.com/c/66f16a25-c068-800a-bba6-36d030d42869 both approaches seem roughly equivalent, but I don't understand if there was another reason to switch from _DIR to _ROOT.

  1. https://cmake.org/cmake/help/latest/policy/CMP0074.html
  2. <PackageName>_ROOT has top priority for the find_package() command.
  3. <PackageName>_ROOT has its own documentation page.
  4. <packageName>_DIR has mostly optmization purpose. From Professional CMake: A Practical Guide 19th Edition, section 34.4:

Once a suitable config file for a package has been found, the <packageName>_DIR cache variable will be set to the directory containing that file. Subsequent calls to find_package() will then look in that directory first, and if the config file still exists, it is used without further searching. <packageName>_DIR is ignored if there is no longer a config file for the package at that location. This arrangement ensures that subsequent calls to find_package() for the same package are much faster, even from one invocation of CMake to the next. But the search is still performed if the package is removed.

@ryanofsky
Copy link
Contributor

Thanks for the clarifications. I agree that issues (2) (3) and (4) are not directly related to this PR and would be best to address separately if it makes sense to follow up on them. Those were just things that I didn't understand, and seemed to intersect with the issue.

@hebasto
Copy link
Member Author

hebasto commented Sep 23, 2024

My Guix build of the demo branch, except for x86_64-w64-mingw32:

aarch64
e31ab0eeff88048301f113731a9b829df63e7db2c6a83c3a54e14b6f423aa4a8  guix-build-d8ec933456bc/output/aarch64-linux-gnu/SHA256SUMS.part
77f4a9481b4ce7df26549c6001384e066a1de3cb1b81ba950c29cc41b0b5c058  guix-build-d8ec933456bc/output/aarch64-linux-gnu/bitcoin-d8ec933456bc-aarch64-linux-gnu-debug.tar.gz
ee471d630ea0eb71c2040a3b9e408c4f1709ee29d2da4ecbc1931d93b67e5495  guix-build-d8ec933456bc/output/aarch64-linux-gnu/bitcoin-d8ec933456bc-aarch64-linux-gnu.tar.gz
9744317e6629543dc888151742d55d0dfdb6f8776c5f5d163b10e79050c3880e  guix-build-d8ec933456bc/output/arm-linux-gnueabihf/SHA256SUMS.part
a2883ba1b6580f3f2b36ffc20b07fa75f0ca7bc6ca49bfc21f3848db9fcf0397  guix-build-d8ec933456bc/output/arm-linux-gnueabihf/bitcoin-d8ec933456bc-arm-linux-gnueabihf-debug.tar.gz
1d99a254ae6399057ea2217fe0c9768ae291f88ec15c0cb65b8a22e122e3a85a  guix-build-d8ec933456bc/output/arm-linux-gnueabihf/bitcoin-d8ec933456bc-arm-linux-gnueabihf.tar.gz
1046592530177d4277ca3dff6ac19f456b44f665db8d795d4f0ae76020a99524  guix-build-d8ec933456bc/output/arm64-apple-darwin/SHA256SUMS.part
08bbbe7981d01452a25f2ca508e32a969bf5045e39eed36ff7905137ec1d66b9  guix-build-d8ec933456bc/output/arm64-apple-darwin/bitcoin-d8ec933456bc-arm64-apple-darwin-unsigned.tar.gz
7b6817f6155911af5a570abc152af197d70401bad1bb072efd6491c82c53f454  guix-build-d8ec933456bc/output/arm64-apple-darwin/bitcoin-d8ec933456bc-arm64-apple-darwin-unsigned.zip
f4189e3cbb57212a6abd26f90a82fc531d72ada53e75388a962f3d1a9275c09a  guix-build-d8ec933456bc/output/arm64-apple-darwin/bitcoin-d8ec933456bc-arm64-apple-darwin.tar.gz
70d482a09099931345888a918df5ccc78a0c742b1d18bb8a5d442af9b2717867  guix-build-d8ec933456bc/output/dist-archive/bitcoin-d8ec933456bc.tar.gz
9dad508d7a88f3f1392912a0450ebcd9faa6bd9e1d7a05ed5b70b4609f98dd32  guix-build-d8ec933456bc/output/powerpc64-linux-gnu/SHA256SUMS.part
695ce97c3aa0653199cc8faa72fab94748f8d86ef2e1112e2d0bb1d859eff266  guix-build-d8ec933456bc/output/powerpc64-linux-gnu/bitcoin-d8ec933456bc-powerpc64-linux-gnu-debug.tar.gz
d36c8b7fcb8767e34da7a2b3a94cbd80d4127561fca9e369a276bba877e54d23  guix-build-d8ec933456bc/output/powerpc64-linux-gnu/bitcoin-d8ec933456bc-powerpc64-linux-gnu.tar.gz
427ebc830b497f9eb91a1e8a16f6aab502625c5cde413f8d004f34525ce14b2e  guix-build-d8ec933456bc/output/riscv64-linux-gnu/SHA256SUMS.part
30ecfa479f73fce75de85a1c47df69fafb42db39f434c350a3c1400cd4c299c5  guix-build-d8ec933456bc/output/riscv64-linux-gnu/bitcoin-d8ec933456bc-riscv64-linux-gnu-debug.tar.gz
30a647dc75a96547170ec97e9a8523e7b97ef1db08ac61ef447ad17e4d6e32e4  guix-build-d8ec933456bc/output/riscv64-linux-gnu/bitcoin-d8ec933456bc-riscv64-linux-gnu.tar.gz
3994475a244829ecdf355d435e0550eb1677d4bb22f0cb974ba11d2f55f6333d  guix-build-d8ec933456bc/output/x86_64-apple-darwin/SHA256SUMS.part
38c4915df15fb41238c9fb2ba9186757b8b38dcd4700bf7383a116945f44f806  guix-build-d8ec933456bc/output/x86_64-apple-darwin/bitcoin-d8ec933456bc-x86_64-apple-darwin-unsigned.tar.gz
c5cf271a16e7597ba585de8c73770fb1ada459749a08dd4aa1d12fcc169a9378  guix-build-d8ec933456bc/output/x86_64-apple-darwin/bitcoin-d8ec933456bc-x86_64-apple-darwin-unsigned.zip
dfa4f1e060bd1980caaaff950051b7e119408bb560de77f1e1efacee7416a7b5  guix-build-d8ec933456bc/output/x86_64-apple-darwin/bitcoin-d8ec933456bc-x86_64-apple-darwin.tar.gz
ea9465517c0e1cc559a6a353f404b2bf47447332c918b69410dc51b6c4fbdedc  guix-build-d8ec933456bc/output/x86_64-linux-gnu/SHA256SUMS.part
f83a296139d0757abc47d053b8fddebc6d2ccc36dabea9b2d52883d23ba923bb  guix-build-d8ec933456bc/output/x86_64-linux-gnu/bitcoin-d8ec933456bc-x86_64-linux-gnu-debug.tar.gz
81aed48bece8d9bf5327530763c17d73dd66d5a3c666cbaf9381c03d4a660845  guix-build-d8ec933456bc/output/x86_64-linux-gnu/bitcoin-d8ec933456bc-x86_64-linux-gnu.tar.gz

@fanquake
Copy link
Member

Guix Build (x86_64):

8868809b50ea77b47c45c1cdf802e85540d9428f182773b1cd7e5d73750dce87  guix-build-06b4c339e89e/output/aarch64-linux-gnu/SHA256SUMS.part
fccf8cf14ca3d3ee7812f254d10eb17e62c507f5b2606c6b099c5d00ed5d3446  guix-build-06b4c339e89e/output/aarch64-linux-gnu/bitcoin-06b4c339e89e-aarch64-linux-gnu-debug.tar.gz
2d7cf4959e238fae666476db1cd11112c77708a58bb9d5cd1e0c7986c8c477a6  guix-build-06b4c339e89e/output/aarch64-linux-gnu/bitcoin-06b4c339e89e-aarch64-linux-gnu.tar.gz
22d7016c186928f517a3b69db90d01b2eed3b15b9ecaa53cab5c5cb35d3974d3  guix-build-06b4c339e89e/output/arm-linux-gnueabihf/SHA256SUMS.part
a77e95ce28b755f7aeb5d6bca0e084a17d78dca755bb7e21e854ad2c7324fd7c  guix-build-06b4c339e89e/output/arm-linux-gnueabihf/bitcoin-06b4c339e89e-arm-linux-gnueabihf-debug.tar.gz
c08fdd60e0b4ba56245fc5e4a50d7537d180fe682108137e951b13c793744bc8  guix-build-06b4c339e89e/output/arm-linux-gnueabihf/bitcoin-06b4c339e89e-arm-linux-gnueabihf.tar.gz
f3b6dcdf7a05ca1faa3bbfb01721fddd801070b85ddbdd84d6bb4ecc61b24aac  guix-build-06b4c339e89e/output/arm64-apple-darwin/SHA256SUMS.part
7877c5d19c602fd85192ba398284e2447f898b1cacc9b9321cb6392b5e451864  guix-build-06b4c339e89e/output/arm64-apple-darwin/bitcoin-06b4c339e89e-arm64-apple-darwin-unsigned.tar.gz
68acba090e08e71fbc3734673cc649a361de9117692db76ec8aa8f17f4952ea0  guix-build-06b4c339e89e/output/arm64-apple-darwin/bitcoin-06b4c339e89e-arm64-apple-darwin-unsigned.zip
76d6b38655a2e52079ebcf108c2e9c4ad99ffd76efa7382f8425be043930b7dc  guix-build-06b4c339e89e/output/arm64-apple-darwin/bitcoin-06b4c339e89e-arm64-apple-darwin.tar.gz
04266bb6fb00caf81afc62df9dae9ca39d8e2da788a093f7d722b4d7038c8a3f  guix-build-06b4c339e89e/output/dist-archive/bitcoin-06b4c339e89e.tar.gz
ccd67910dc8e7e9d499cdb4914b0c6bcb2fce70902f02b17ec1b789134d7520e  guix-build-06b4c339e89e/output/powerpc64-linux-gnu/SHA256SUMS.part
4e42474ae55caa372fadc8d4552944175e4405b8aa1cb6d7f299450aa47b6862  guix-build-06b4c339e89e/output/powerpc64-linux-gnu/bitcoin-06b4c339e89e-powerpc64-linux-gnu-debug.tar.gz
ca8f7c6fde62db3c8147539f060b6f67ffb28c072127166cd55042804d390613  guix-build-06b4c339e89e/output/powerpc64-linux-gnu/bitcoin-06b4c339e89e-powerpc64-linux-gnu.tar.gz
4fa8f97503783a1dfdf79133a0c7d98af381203064a83620d357ffcdb0192f12  guix-build-06b4c339e89e/output/riscv64-linux-gnu/SHA256SUMS.part
80684fa83f4b9cf7e9514eca0828901643d73efe7ff0651d97eed4dab7353172  guix-build-06b4c339e89e/output/riscv64-linux-gnu/bitcoin-06b4c339e89e-riscv64-linux-gnu-debug.tar.gz
56bfacda24dc665078ba9242c89a9a429705a35298f6fa123bcb257ea7ec7964  guix-build-06b4c339e89e/output/riscv64-linux-gnu/bitcoin-06b4c339e89e-riscv64-linux-gnu.tar.gz
9725713bfda6b9288936aba7ab1598b77275b975628061a5c76f613bf959f60a  guix-build-06b4c339e89e/output/x86_64-apple-darwin/SHA256SUMS.part
c01a581746d53ac316cd20cbc8504dcdff37a0aa3ded92023fbbb3220782712f  guix-build-06b4c339e89e/output/x86_64-apple-darwin/bitcoin-06b4c339e89e-x86_64-apple-darwin-unsigned.tar.gz
d1527ef633352089ae823405377af88e469a08aaed04b7f1c40b6f5d7db93d6d  guix-build-06b4c339e89e/output/x86_64-apple-darwin/bitcoin-06b4c339e89e-x86_64-apple-darwin-unsigned.zip
ffbc384aa5b401246a4f5a3e6879bb03566e13eb215662e3ef381b90eba1c141  guix-build-06b4c339e89e/output/x86_64-apple-darwin/bitcoin-06b4c339e89e-x86_64-apple-darwin.tar.gz
50bc20c2256ff9209d2c095a862be00a6c8259acbb54d3c40f76019a34e9af6b  guix-build-06b4c339e89e/output/x86_64-linux-gnu/SHA256SUMS.part
9329c9c322240b8cc189d9389996feffd249c949daad0ad87167b0f50f196ebe  guix-build-06b4c339e89e/output/x86_64-linux-gnu/bitcoin-06b4c339e89e-x86_64-linux-gnu-debug.tar.gz
0d46f3124764daf22aabcebaa24dd63df4e804b74ea1e66251c53d36ef8af0e2  guix-build-06b4c339e89e/output/x86_64-linux-gnu/bitcoin-06b4c339e89e-x86_64-linux-gnu.tar.gz
a13668ea24fc71065d1647ce0c2f75b883818dc20ee06c40a8ae35227bbb295c  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/SHA256SUMS.part
64ec47382e2e771451b9976f1729593be20687ff92dcfa0526c3fb255c0c734a  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/bitcoin-06b4c339e89e-win64-debug.zip
9d6f9a971ee70a5ad7c6e3c425b0d6b3b0d80604b39198ba60821148fe7d75e4  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/bitcoin-06b4c339e89e-win64-setup-unsigned.exe
1e255cddf39f1d7a1b0d5c92ed71d9a5d2da92af476ae50071e873eb5ee4c30a  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/bitcoin-06b4c339e89e-win64-unsigned.tar.gz
e34c7c07343f6f4a055edad66d7d9903025134e9028bde7d2673a9782d23e31a  guix-build-06b4c339e89e/output/x86_64-w64-mingw32/bitcoin-06b4c339e89e-win64.zip

Copy link
Member

@fanquake fanquake left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 06b4c33

@fanquake fanquake merged commit 29d00a1 into bitcoin:master Sep 27, 2024
16 checks passed
@hebasto hebasto deleted the 240921-guix-mp branch September 27, 2024 10:45
@hebasto
Copy link
Member Author

hebasto commented Sep 27, 2024

@ryanofsky

  1. I don't understand why "In the Guix environment, ${BASEPREFIX}/${HOST}/native/bin is added to the PATH environment variable," according to the description. Setting this seems indiscriminate, like a sledgehammer approach, something that would cause the guix build to behave differently from normal depends builds and lead to confusing issues like this one.

Addressed in #30989.

fanquake added a commit that referenced this pull request Sep 30, 2024
f1daa80 guix: Drop no longer needed `PATH` modification (Hennadii Stepanov)

Pull request description:

  I don't see any reason why this would be necessary in the master branch @ d812cf1.

  Additionally, from #30940 (review):
  >    2. I don't understand why "In the Guix environment, `${BASEPREFIX}/${HOST}/native/bin` is added to the `PATH` environment variable," according to the description. Setting this seems indiscriminate, like a sledgehammer approach, something that would cause the guix build to behave differently from normal depends builds and lead to confusing issues like this one.

  My Guix build:
  ```
  aarch64
  015b853d60c742120b88f1501ce241c8b7b3e874eca9ab150ba2ec282ecb9572  guix-build-f1daa80521ec/output/aarch64-linux-gnu/SHA256SUMS.part
  2a8ed51f02046a73dc9a391b8939528c2e506d545274c934202a5643f26b102b  guix-build-f1daa80521ec/output/aarch64-linux-gnu/bitcoin-f1daa80521ec-aarch64-linux-gnu-debug.tar.gz
  0ce7a6c81b657cfcbd2edf1e18cca8f66bd7bbe15a12b90dd60ddb1218b72254  guix-build-f1daa80521ec/output/aarch64-linux-gnu/bitcoin-f1daa80521ec-aarch64-linux-gnu.tar.gz
  de6cb71e37a1c2e9a9a9952d4456a7fde407b38f95a1447928ded3f592b2e47f  guix-build-f1daa80521ec/output/arm-linux-gnueabihf/SHA256SUMS.part
  c91be594ad4d02a2cb4cea2f57e91ebeae9a1cda66ec49e05ecc3a793e767f24  guix-build-f1daa80521ec/output/arm-linux-gnueabihf/bitcoin-f1daa80521ec-arm-linux-gnueabihf-debug.tar.gz
  eb8ea448df1734009129d88cdf28a1ae5918bff19a58fa9525c0b1dde0dfd987  guix-build-f1daa80521ec/output/arm-linux-gnueabihf/bitcoin-f1daa80521ec-arm-linux-gnueabihf.tar.gz
  6d558c036b66c81fb5843b1918f24fec6bd901098a0dfb15100b497e12e8fdc3  guix-build-f1daa80521ec/output/arm64-apple-darwin/SHA256SUMS.part
  23691ecaf5d23c72f06fe81054a84e2549d8e89582317b6d3e14276aeba0b07f  guix-build-f1daa80521ec/output/arm64-apple-darwin/bitcoin-f1daa80521ec-arm64-apple-darwin-unsigned.tar.gz
  8965a32937894d6dd75e6b04809bdc925187967c2547a795dec2e11a75262624  guix-build-f1daa80521ec/output/arm64-apple-darwin/bitcoin-f1daa80521ec-arm64-apple-darwin-unsigned.zip
  ec0b2f35f498537ca6eb8b306a1e26cf97b7f1bdf140f3c4ca8b18c643fc4599  guix-build-f1daa80521ec/output/arm64-apple-darwin/bitcoin-f1daa80521ec-arm64-apple-darwin.tar.gz
  d46d8117efdbfe90be13bcf36ba2ddcfa7c53ba01762a53c72a1b48f2cac569c  guix-build-f1daa80521ec/output/dist-archive/bitcoin-f1daa80521ec.tar.gz
  facf7bbec0e9324e9ed58b8da07c5b1df2f120bd9090f7d124613ed62092dd46  guix-build-f1daa80521ec/output/powerpc64-linux-gnu/SHA256SUMS.part
  c065b222f60ec19b7585daf197dadcb529fa588de1b26e767e4ebd43d6345562  guix-build-f1daa80521ec/output/powerpc64-linux-gnu/bitcoin-f1daa80521ec-powerpc64-linux-gnu-debug.tar.gz
  4e837a86ce6adbd595dc31d2b584c3322acd30b6f18b57144f18fc09289fec65  guix-build-f1daa80521ec/output/powerpc64-linux-gnu/bitcoin-f1daa80521ec-powerpc64-linux-gnu.tar.gz
  f4362984a846e97c6a388366bb2922294c66bb3f78adf71064f97ab5a346e4ed  guix-build-f1daa80521ec/output/riscv64-linux-gnu/SHA256SUMS.part
  427fc7fdac244c6dd4fdf0312486e3bcf8372c68fd3570bdb815734544b8369e  guix-build-f1daa80521ec/output/riscv64-linux-gnu/bitcoin-f1daa80521ec-riscv64-linux-gnu-debug.tar.gz
  ae9a07f7e2e656efbba99246be5767798028c13fcf5d172a595b734f5e1241c4  guix-build-f1daa80521ec/output/riscv64-linux-gnu/bitcoin-f1daa80521ec-riscv64-linux-gnu.tar.gz
  8ff7494e648fe5744efd4522a003d94b531dcab28cb8c2fea05a09897be111ce  guix-build-f1daa80521ec/output/x86_64-apple-darwin/SHA256SUMS.part
  9845e894fc6b0dd339dc4f62f3bc4e37f76935f309887798ca488fb5465b2b6c  guix-build-f1daa80521ec/output/x86_64-apple-darwin/bitcoin-f1daa80521ec-x86_64-apple-darwin-unsigned.tar.gz
  fa0e07573ae977ef6bb3ecaa07b1e434c52041865e2def9de6a041fb3749d27d  guix-build-f1daa80521ec/output/x86_64-apple-darwin/bitcoin-f1daa80521ec-x86_64-apple-darwin-unsigned.zip
  cd99cda53a8fbcc5380333058426055977cd39d3bdc0da571b3f64d293787719  guix-build-f1daa80521ec/output/x86_64-apple-darwin/bitcoin-f1daa80521ec-x86_64-apple-darwin.tar.gz
  a6beac93eb8f9516a13ab7451b0c45b2898fd56315a066cc6470ba84226bba27  guix-build-f1daa80521ec/output/x86_64-linux-gnu/SHA256SUMS.part
  f50e03971274371ef0ec5710de4879670f75cb29a8eacd5c02f0d622740d026a  guix-build-f1daa80521ec/output/x86_64-linux-gnu/bitcoin-f1daa80521ec-x86_64-linux-gnu-debug.tar.gz
  97dcd833014cccaac1b228f438ac49aec94603f0317c606e9344d9709302dbbd  guix-build-f1daa80521ec/output/x86_64-linux-gnu/bitcoin-f1daa80521ec-x86_64-linux-gnu.tar.gz
  7c2ea5572f9f137523b88f6a0f1ac711abd6a7ef8aa361ceea35d01e700a3778  guix-build-f1daa80521ec/output/x86_64-w64-mingw32/SHA256SUMS.part
  c64d33e04dfc8adfe5a48d6ed17579a69e0b8938e2973bd1810bcaefe5dc9506  guix-build-f1daa80521ec/output/x86_64-w64-mingw32/bitcoin-f1daa80521ec-win64-debug.zip
  87d81e11510ffef0082e3be80ce3f8f5e7d9f5c3cdb1dae887d4341cf678af31  guix-build-f1daa80521ec/output/x86_64-w64-mingw32/bitcoin-f1daa80521ec-win64-setup-unsigned.exe
  d46887ef5d23fe19ce23dd356dc3a1c03a1164778f78466b4ef415038b42e3eb  guix-build-f1daa80521ec/output/x86_64-w64-mingw32/bitcoin-f1daa80521ec-win64-unsigned.tar.gz
  c1a54433d0849548734e8962590e3a33b529665cd610f2ed5acbb1a52c02ae23  guix-build-f1daa80521ec/output/x86_64-w64-mingw32/bitcoin-f1daa80521ec-win64.zip
  ```

ACKs for top commit:
  theuni:
    utACK f1daa80 since guix is happy.
  fanquake:
    ACK f1daa80

Tree-SHA512: 50fd8fb01727a462e3935ad840de465acee9520eb5e9cfd972476960e6f738a8fd7e9cb62f27cdad643d013e5b487df1671c45f46af2476aaeeec21cfa60e6c1
TheCharlatan added a commit to TheCharlatan/rust-bitcoinkernel that referenced this pull request Nov 2, 2024
…47757ea3b

1047757ea3b kernel: Add pure kernel bitcoin-chainstate
c568fdf75fd kernel: Add block index utility functions to C header
0f1da1dcba5 kernel: Add function to read block undo data from disk to C header
45af559c9f6 kernel: Add functions to read block from disk to C header
2a7f8a8240c kernel: Add function for copying  block data to C header
b19f5336c03 kernel: Add functions for the block validation state to C header
9c0ffa913f4 kernel: Add validation interface to C header
a93318c6152 kernel: Add interrupt function to C header
51053f33720 kernel: Add import blocks function to C header
6b0ada2af42 kernel: Add chainstate load options for in-memory dbs in C header
34427bfa9c7 kernel: Add options for reindexing in C header
ca57311c969 kernel: Add block validation to C header
44156d84838 Kernel: Add chainstate loading to kernel C header
2cee46cdcc1 kernel: Add chainstate manager object to C header
7102c7ae45e kernel: Add notifications context option to C header
ed628a2a3c4 kerenl: Add chain params context option to C header
27643297ff7 kernel: Add kernel library context object
2ba22cf3f90 kernel: Add logging to kernel library C header
873874c03e9 kernel: Introduce initial kernel C header API
d94adc7270b Merge bitcoin/bitcoin#29702: fees: Remove CLIENT_VERSION serialization
7290bc61c00 Merge bitcoin/bitcoin#31078: build: Fix kernel static lib component install
68f29b24907 Merge bitcoin/bitcoin#31141: doc: Make list of targets in depends README consistent
e9b95665eea Merge bitcoin/bitcoin#31046: init: Some small chainstate load improvements
b8c821cc1ea Merge bitcoin/bitcoin#30724: test: add test for specifying custom pidfile via `-pid`
a0c9595810c doc: Make list of targets in depends README consistent
fa1c5cc9df1 fees: Log non-fatal errors as [warning], instead of info-level
ffe4261cb06 Merge bitcoin/bitcoin#30935: ci: Approximate MAKEJOBS in image build phase
28ce159bc32 Merge bitcoin/bitcoin#30183: rpc: net: follow-ups for #30062
684873931b3 Merge bitcoin/bitcoin#26334: Add Signet and testnet4 launch shortcuts for Windows
9b0e2598089 Merge bitcoin/bitcoin#31121: guix: Enable CET for `glibc` package
d9f8dc64534 Merge bitcoin/bitcoin#31097: validation: Improve input script check error reporting
a16917fb598 rpc, net: improve `mapped_as` doc for getrawaddrman/getpeerinfo
563c4d29268 Merge bitcoin/bitcoin#31105: Update libmultiprocess library
0e9f20625a1 Merge bitcoin/bitcoin#31063: lint: commit-script-check.sh: echo to stderr
e8f72aefd20 Merge bitcoin/bitcoin#29877: tracing: explicitly cast block_connected duration to nanoseconds
86e2a6b749c [test] A non-standard transaction which is also consensus-invalid should return the consensus error
4d3da08d1b9 guix: Enable CET for `glibc` package
a38603456e9 Merge bitcoin/bitcoin#31100: doc: remove dependency install instructions from win docs
90b405516f7 Update libmultiprocess library
479715e9db0 Merge bitcoin/bitcoin#30996: doc: update signet documentation related to build directories
99e041f86fd Merge bitcoin/bitcoin#31099: doc: drop macOS LLVM install instructions
21e2f06a1cc Merge bitcoin/bitcoin#31067: test: Print CompletedProcess object on error
184f12c1542 doc: remove dependency install instructions from win docs
dea9fb9a8b8 Merge bitcoin/bitcoin#30093: optimization: reserve memory allocation for transaction inputs/outputs
79aa8280b2e doc: drop LLVM install instructions
2123c94448e Merge bitcoin/bitcoin#30527: Bump python minimum supported version to 3.10
538ccaed004 Merge bitcoin/bitcoin#31048: build: Bump minimum supported macOS to 13.0
f859ff8a4e9 [validation] Improve script check error reporting
ddddbac9c10 fees: Pin required version to 149900
fa5126adcb1 fees: Pin "version that wrote" to 0
0ca1d1bf69c Merge bitcoin/bitcoin#31092: doc: fuzz: remove Honggfuzz NetDriver instructions
d823ba6e20b doc: fuzz: remove Honggfuzz NetDriver instructions
15563d3388e Merge bitcoin/bitcoin#30859: doc: cmake: prepend "build" to functional/test_runner.py
2ac5ba24bf0 Merge bitcoin/bitcoin#31083: doc: add doxygen for m_args in tests
a0e089a71dc build: Bump minimum supported macOS to 13.0
1fe1b3ba8e9 doc: doxygen comment for m_args usage in tests
82e16e69832 cmake: Refactor install kernel dependencies
42e62779873 build: Add static libraries to Kernel install component
e64b2f1a16e doc: cmake: prepend and explain "build/" where needed
48cf3da6360 Merge bitcoin/bitcoin#30970: build: Add missing USDT header dependency to kernel
d8b835cf18c Merge bitcoin/bitcoin#31070: contrib: fix typos in check-deps.sh
da8824ba301 Fix typos in check-deps.sh
fa43c4f93ca test: Print CompletedProcess object on error
489e5aa3a29 Merge bitcoin/bitcoin#30857: cluster mempool: extend DepGraph functionality
9f45062b9b0 Merge bitcoin/bitcoin#30937: build: scripted-diff: drop config/ subdir for bitcoin-config.h
882f736d0a6 doc: lint: correct outdated comment (s/Makefile.am/CMakeLists.txt/)
1786be7b4a5 scripted-diff: drop config/ subdir for bitcoin-config.h, rename to bitcoin-build-config.h
0c2c3bb3f5c Merge bitcoin/bitcoin#30955: Mining interface: getCoinbaseMerklePath() and submitSolution()
9909a34d794 Merge bitcoin/bitcoin#30992: doc: update IBD requirements in doc/README.md
fac6cfe5ac0 lint: commit-script-check.sh: echo to stderr
5fb94550638 Merge bitcoin/bitcoin#31058: refactor: include the proper header rather than forward-declaring RemovalReasonToString
e569eb8d917 Merge bitcoin/bitcoin#30885: scripted-diff: Modernize nLocalServices naming
31cc5006c3d init: Return fatal failure on snapshot validation failure
8f1246e8338 init: Improve chainstate init db error messages
5837e3463fe Merge bitcoin/bitcoin#30967: refactor: Replace g_genesis_wait_cv with m_tip_block_cv
ca2e4ba352c refactor: include the proper header rather than forward-declaring RemovalReasonToString
a9f6a57b691 Merge bitcoin/bitcoin#30920: test: Remove 0.16.3 test from wallet_backwards_compatibility.py
fa71bedf860 ci: Approximate MAKEJOBS in image build phase
03696bb1bd5 Merge bitcoin/bitcoin#31045: ci: Add missing -DWERROR=ON to test-each-commit
56093565bbe Merge bitcoin/bitcoin#31018: test: Treat exclude list warning as failure in CI
bb47b5a6576 Merge bitcoin/bitcoin#31038: test: Fix copy-paste in wallet/test/db_tests ostream operator
3fecf36c7b3 Merge bitcoin/bitcoin#31056: ci: Double ctest timeout
3c4a9419dbe Merge bitcoin/bitcoin#31013: depends: For mingw cross compile use -gcc-posix to prevent library conflict
5d5cc021ce3 Merge bitcoin/bitcoin#31051: test: remove unused code from `script_tests`
caf44e500eb Merge bitcoin/bitcoin#31008: depends: Print ready-to-use `--toolchain` option for CMake invocation
fa5ebc99207 ci: Double ctest timeout
0b3ec8c59b2 clusterlin: remove Cluster type
1c24c625105 clusterlin: merge two DepGraph fuzz tests into simulation test
0606e66fdbb clusterlin: add DepGraph::RemoveTransactions and support for holes in DepGraph
75b5d42419e clusterlin: make DepGraph::AddDependency support multiple dependencies at once
abf50649d13 clusterlin: simplify DepGraphFormatter::Ser
eaab55ffc81 clusterlin: rework DepGraphFormatter::Unser
5901cf7100a clusterlin: abstract out DepGraph::GetReduced{Parents,Children}
e0287bc4b2d test: remove unused code from script_tests
62e45167221 Merge bitcoin/bitcoin#31026: ci: set a ctest test timeout of 1200 (20 minutes)
cd093049dda init: Remove incorrect comment about shutdown condition
635e9f85d76 init: Remove misleading log line when user chooses not to retry
fa1cffacae6 ci: Install missing nproc in macos task
faf7a2bccc7 ci: Add missing -DWERROR=ON to test-each-commit
56aad83307e ci: set a ctest timeout of 1200 (20 minutes)
1b707146717 Merge bitcoin-core/gui#840: qt6: Handle different signatures of `QANEF::nativeEventFilter`
720ce880a35 init: Improve comment describing chainstate load retry behaviour
baea842ff18 init: Remove unneeded argument for mempool_opts checks
ec58dfe8f74 Merge bitcoin/bitcoin#31010: cmake: Avoid hardcoding Qt's major version in Find module / variable names
5fe6878b5f7 Merge bitcoin-core/gui#836: Fix display issues for IPv6 proxy setup in Options Dialog  (UI only, no functionality impact)
f50557f5d36 test: Fix copy-paste in db_tests ostream operator
5ea335a97f8 Merge bitcoin/bitcoin#30793: rpc: add getorphantxs
76e2e8aabd8 Merge bitcoin/bitcoin#31035: doc: Archive 28.0 release notes
f019fcec412 doc: Archive 28.0 release notes
80761afced1 qt6: Handle different signatures of `QANEF::nativeEventFilter`
51c698161b5 Merge bitcoin-core/gui#837: qt6: Fix linking when configured with `-DENABLE_WALLET=OFF`
4be785b3e33 Merge bitcoin-core/gui#839: qt6, test: Handle deprecated code
f117f3f7473 Merge bitcoin-core/gui#838: qt6: Handle deprecated `QLocale::nativeCountryName`
5625840c11d qt6, test: Handle deprecated `QVERIFY_EXCEPTION_THROWN`
772928a13c2 Merge bitcoin/bitcoin#30982: docs: Add instructions on how to self-sign bitcoin-core binaries for macOS
27709f51ee0 docs: Add instructions on how to self-sign bitcoin-core binaries for macOS
cfb59da4b3b Merge bitcoin/bitcoin#30980: fuzz: fix bug in p2p_headers_presync harness
dda2613239b Merge bitcoin/bitcoin#30929: log: Enforce trailing newline
e0ae9c14c4e Merge bitcoin/bitcoin#31011: refactor: move util/pcp and util/netif to common/
98c1536852d test: add getorphantxs tests
93f48fceb7d test: add tx_in_orphanage()
34a9c10e8cd rpc: add getorphantxs
f511ff3654d refactor: move verbosity parsing to rpc/util
36a6d4b0078 doc: update IBD requirements in doc/README.md
fa6d14eacb2 test: Treat exclude list warning as failure in CI
6a370435526 Merge bitcoin/bitcoin#31007: doc: add testnet4 section header for config file
70910eb2ecb Merge bitcoin/bitcoin#31016: test: add missing sync to feature_fee_estimation.py
532491faf1a net: add GetOrphanTransactions() to PeerManager
91b65adff2a refactor: add OrphanTxBase for external use
a1576edab35 test: add missing sync to feature_fee_estimation.py
ae56b3230b2 depends: For mingw cross compile use -gcc-posix to prevent library conflict
fd38711217c ci: make CI job fail when check-deps.sh script fails
d51edecddcb common: move pcp.cpp and netif.cpp files from util to common library since they depend on netaddress.cpp
61cdb1c9d83 doc: add testnet4 section header for config file
deacf3c7cd6 cmake: Avoid hardcoding Qt's major version in Find module
605926da0ab depends: Print ready-to-use `--toolchain` option for CMake invocation
fa2b7d8d6b3 Remove redundant unterminated-logprintf tidy check
bbbb2e43ee9 log: Enforce trailing newline, Remove redundant m_started_new_line
fa22e5c430a refactor: Remove dead code that assumed tip == nullptr
fa2e4439652 refactor: Replace g_genesis_wait_cv with m_tip_block_cv
fa7f52af1a4 refactor: Use wait_for predicate to check for interrupt
5ca28ef28bc refactor: Split up NodeContext shutdown_signal and shutdown_request
fad8e7fba7b bugfix: Mark m_tip_block_cv as guarded by m_tip_block_mutex
fa18586c29d refactor: Add missing GUARDED_BY(m_tip_block_mutex)
fa4c0750331 doc: Clarify waitTipChanged docs
fc642c33ef2 Merge bitcoin/bitcoin#30718: test: switch MiniWallet padding unit from weight to vsize
d7f956a309e Merge bitcoin/bitcoin#30968: init: Remove retry for loop
c33eb2360e2 Merge bitcoin/bitcoin#30043: net: Replace libnatpmp with built-in PCP+NATPMP implementation
f3c74c4a7e1 Merge bitcoin/bitcoin#30989: guix: Drop no longer needed `PATH` modification
5c7cacf649a ci: Remove natpmp build option and libnatpmp dependency
7e7ec984da5 doc: Remove mention of natpmp build options
061c3e32a26 depends: Drop natpmp and associated option from depends
20a18bf6aa3 build: Drop libnatpmp from build system
7b04709862f qt: Changes for built-in PCP+NAT-PMP
52f8ef66c61 net: Replace libnatpmp with built-in NATPMP+PCP implementation in mapport
97c97177cdb net: Add PCP and NATPMP implementation
cb750b4b405 qt6, test: Use `qWarning()` instead of `QWARN()` macro
9123a286e97 qt6: Handle deprecated `QLocale::nativeCountryName`
940edd6ac24 test: refactor: introduce and use `TRUC_CHILD_MAX_VSIZE` constant
c16ae717689 test: switch MiniWallet padding unit from weight to vsize
a647d4400d5 doc: update signet documentation related to build directories
f1daa80521e guix: Drop no longer needed `PATH` modification
d812cf11896 Merge bitcoin/bitcoin#30879: test: re-bucket long-running tests
18d4c43cab4 Merge bitcoin/bitcoin#30921: test: generalize HasReason and use it in FailFmtWithError
d7fcc91416a Merge bitcoin/bitcoin#30974: ci: Inline PACKAGE_MANAGER_INSTALL
29d00a1cee1 Merge bitcoin/bitcoin#30940: depends: Fix build with `MULTIPROCESS=1` in Guix environment
89a8e9b732f Merge bitcoin/bitcoin#30979: contrib: Update asmap link in seeds readme
fafd1a0f648 ci: Inline PACKAGE_MANAGER_INSTALL
36ad9516dbd Merge bitcoin/bitcoin#30981: ci: add timestamps to cirrus jobs
fa7c2838a5f Merge bitcoin/bitcoin#30948: test: Add missing sync_mempools() to fill_mempool()
f951f1fab25 ci: add timestamps to cirrus jobs
f158993fd55 contrib: Update asmap link in seeds readme
d5af7d28f47 Merge bitcoin/bitcoin#30976: depends, doc: Drop package-specific note about CMake
a7498cc7e26 Fix bug in p2p_headers_presync harness
4cf84b344de depends, doc: No need to specify general requirement
e13da501db9 Merge bitcoin/bitcoin#30973: doc: fix `loadtxoutset` example
513b7136c79 Merge bitcoin/bitcoin#30961: ci: add `LLVM_SYMBOLIZER_PATH` to Valgrind fuzz job
286725168ae doc: fix loadtxoutset example
525e9dcba0b Add submitSolution to BlockTemplate interface
47b4875ef05 Add getCoinbaseMerklePath() to Mining interface
63d6ad7c89c Move BlockMerkleBranch back to merkle.{h,cpp}
65f6e7078b1 Merge bitcoin/bitcoin#30510: multiprocess: Add IPC wrapper for Mining interface
da612cea032 Merge bitcoin/bitcoin#30962: validation: Disable CheckForkWarningConditions for background chainstate
e9d60af9889 refactor: Replace init retry for loop with if statement
c1d8870ea41 refactor: Move most of init retry for loop to a function
ccd10fdb97f build: Add missing USDT header dependency to kernel
781c01f5806 init: Check mempool arguments in AppInitParameterInteractions
39219fe145e Merge bitcoin/bitcoin#30946: doc: correct the zmq automatic build info
06e7e836329 doc: correct the zmq automatic build info
a9773b6215e Merge bitcoin/bitcoin#30963: doc: Adjust links in OSS-Fuzz section
fa6c1946d23 doc: Adjust links in OSS-Fuzz section
c0a0c72b4d6 validation: Disable CheckForkWarningConditions for background chainstate
c1832584bfd ci: add LLVM_SYMBOLIZER_PATH to Valgrind fuzz job
393f323bd60 Merge bitcoin/bitcoin#30952: test: Use shell builtins in run_command test case
faf801515f8 test: Add missing sync_mempools() to fill_mempool()
fa48be6f023 test: Refactor fill_mempool to extract send_batch helper
1a332817665 doc: multiprocess documentation improvements
90a5786bba4 Merge bitcoin/bitcoin#30678: wallet: Write best block to disk before backup
d043950ba24 multiprocess: Add serialization code for BlockValidationState
33c2eee285e multiprocess: Add IPC wrapper for Mining interface
06882f84017 multiprocess: Add serialization code for vector<char>
095286f790a multiprocess: Add serialization code for CTransaction
69dfeb18761 multiprocess: update common-types.h to use C++20 concepts
206c6e78eec build: Make bitcoin_ipc_test depend on bitcoin_ipc
070e6a32d5f depends: Update libmultiprocess library for cmake headers target
dabc74e86c3 Merge bitcoin/bitcoin#30409: Introduce waitTipChanged() mining interface, replace RPCNotifyBlockChange, drop CRPCSignals & g_best_block
7bd3ee62f6d test: Use shell builtins in run_command test case
f5a2000579b test: re-bucket long-running tests
06b4c339e89 depends: Fix reproducibility when building with `MULTIPROCESS=1`
04e4d52420a test: add test for specifying custom pidfile via `-pid`
b832ffe0446 refactor: introduce default pid file name constant in tests
d8e3afc3352 depends: Fix build with `MULTIPROCESS=1` in Guix environment
f20fe33e94c test: Add basic balance coverage to wallet_assumeutxo.py
d72df63d169 net: Use GetLocalAddresses in Discover
e02030432b7 net: Add netif utility
754e4254388 crypto: Add missing WriteBE16 function
33adc7521cc Merge bitcoin/bitcoin#30765: refactor: Allow `CScript`'s `operator<<` to accept spans, not just vectors
0894748316c Merge bitcoin/bitcoin#30918: fuzz: Add check in `p2p_headers_presync` that chain work never exceeds minimum work
f57a6754ed6 Merge bitcoin/bitcoin#30826: fuzz: reduce number of iterations in `crypto_aeadchacha20poly1305` target
48c20dbd86c Merge bitcoin/bitcoin#30794: interpreter: use int32_t instead of int type for risczero compile
4148e60909e Merge bitcoin/bitcoin#30679: fix: handle invalid `-rpcbind` port earlier
a8a2628b7a9 Merge bitcoin/bitcoin#30828: interfaces: #30697 follow ups
0d81b3ddedc Merge bitcoin/bitcoin#30568: addrman: change internal id counting to int64_t
c985a34b9c3 Merge bitcoin/bitcoin#26990: cli: Improve error message on multiwallet cli-side commands
037b101e808 test: Add coverage for best block locator write in wallet_backup
31c0df03890 wallet: migration, write best locator before unloading wallet
7e3dbe4180c wallet: Write best block to disk before backup
79f20fa1b1e Merge bitcoin/bitcoin#30561: refactor: move `SignSignature` helpers to test utils
284bd17309a add check that chainwork doesn't exceed minimum work
9aa5d1c3fcd add clarification in comment
197aa249551 Merge bitcoin/bitcoin#30856: build: drop obj/ subdirectory for generated build.h
7025942687f build: drop superfluous `HAVE_BUILD_INFO` define
0dd662510c5 build: drop obj/ subdir for generated build.h, rename to bitcoin-build-info.h
84cd6478c42 Merge bitcoin/bitcoin#30927: Follow-up after AutoFile position caching: remove unused code
caac06f784c streams: reorder/document functions
67a3d590768 streams: remove unused code
2db926f49c8 Merge bitcoin/bitcoin#30889: log: Use ConstevalFormatString
fee4cba4847 gui: Fix proxy details display in Options Dialog
9ba56884f62 Merge bitcoin/bitcoin#30869: ci: Print inner env, Make ccache config more flexible
6c3c619b35c test: generalize HasReason and use it in FailFmtWithError
ab0b5706b25 Merge bitcoin/bitcoin#30875: doc: fixed inconsistencies in documentation between autotools to cmake change
fd08fded63a Merge bitcoin/bitcoin#30639: ci: Use clang-19 in msan tasks
5be34bacf6d qt: Fix linking when configured with `-DENABLE_WALLET=OFF`
a9964c04447 doc: Updating docs from autotools to cmake
fae44c83da9 test: Remove 0.16.3 test from wallet_backwards_compatibility.py
69409bc6e55 Merge bitcoin/bitcoin#30908: doc: remove Eclipser fuzzing documentation
6b97882ab53 Merge bitcoin/bitcoin#30915: ci: Use `ninja` to build in macOS native CI job
e6994efe08b fix: increase rpcbind check robustness
d38e3aed89e fix: handle invalid rpcbind port earlier
83b67f2e6d5 refactor: move host/port checking
73c243965ab test: add tests for invalid rpcbind ports
54227e681a4 rpc, cli: improve error message on multiwallet mode
735436df8ce Remove outdated Eclipser fuzzing documentation
ccccb67851b ci: Use clang-19 in msan tasks
facbcd4cef8 log: Use ConstevalFormatString
d01b85bfecb ci: Use `ninja` to build in macOS native CI job
6fc46927971 Merge bitcoin/bitcoin#29624: doc: update NeedsRedownload() and nStatus comment
2a0949f0977 Merge bitcoin/bitcoin#30888: build: optimize .h generation in GenerateHeaderFrom{Raw,Json}.cmake
bdbc90f29ac Merge bitcoin/bitcoin#30902: Remove Autotools packages from CI (and depends doc)
a95e742b692 Merge bitcoin/bitcoin#30913: ci: Use macos-14 GHA image (x86_64-apple-darwin22.6.0 -> arm64-apple-darwin23.6.0)
225718eda89 Merge bitcoin/bitcoin#30438: guix: (explicitly) build Linux GCC with `--enable-cet`
fab932b4211 ci: Remove incorrectly hardcoded HOST in mac_native task
af9f9878934 doc: update NeedsRedownload() comment
fa8f35d7865 ci: Use macos-14 GHA image
7942951e3fc Remove unused g_best_block
e3a560ca68d rpc: use waitTipChanged for longpoll
460687a09c2 Remove unused CRPCSignals
dca923150e3 Replace RPCNotifyBlockChange with waitTipChanged()
2a40ee11219 rpc: check for negative timeout arg in waitfor*
de7c855b3af rpc: recommend -rpcclienttimeout=0 for waitfor*
77ec072925a rpc: fix waitfornewblock description
285fe9fb51c rpc: add test for waitforblock and waitfornewblock
b94b27cf05c Add waitTipChanged to Mining interface
7eccdaf1608 node: Track last block that received a blockTip notification
ebb8215f236 Rename getTipHash() to getTip() and return BlockRef
89a8f74bbbb refactor: rename BlockKey to BlockRef
9f1aa88d4d9 Merge bitcoin/bitcoin#30884: streams: cache file position within AutoFile
06329eb1348 Merge bitcoin/bitcoin#29436: net: call `Select` with reachable networks in `ThreadOpenConnections`
e983ed41d9f Merge bitcoin/bitcoin#30410: rpc, rest: Improve block rpc error handling, check header before attempting to read block data.
fce9e065c16 Merge bitcoin/bitcoin#28358: Drop -dbcache limit
8d000b85dd4 Merge bitcoin/bitcoin#30868: refactor: add clang-tidy `modernize-use-starts-ends-with` check
3f66642820b Merge bitcoin/bitcoin#30440: Have createNewBlock() return a BlockTemplate interface
2bf721e76a5 Merge bitcoin/bitcoin#30661: fuzz: Test headers pre-sync through p2p
c38e9993de7 Merge bitcoin/bitcoin#30286: cluster mempool: optimized candidate search
fa99e4521b6 ci: Allow CCACHE_DIR bind mount
37679b856ce Merge bitcoin/bitcoin#30899: qt: Translations update
fc7b507e9a5 tidy: add clang-tidy `modernize-use-starts-ends-with` check
7a8a6a06676 doc: Fix comment in `contrib/devtools/check-deps.sh` script
712d105e093 depends, doc: Do not install Autotools packages
b786449e663 ci: Do not install Autotools packages
a240e150e83 streams: remove AutoFile::Get() entirely
ae052957614 qt: Translations update
6a1aa510e31 rpc: check block index before reading block / undo data
6cbf2e5f819 rpc: Improve gettxoutproof error when only header is available.
69fc867ea19 test: add coverage to getblock and getblockstats
5290cbd5850 rpc: Improve getblock / getblockstats error when only header is available.
e5b537bbdfb rest: improve error when only header of a block is available.
e624a9bef16 streams: cache file position within AutoFile
89bf11b8072 guix: build Linux GCC with --enable-cet
a93c171faa7 Drop unneeded nullptr check from CreateNewBlock()
dd87b6dff35 Have createNewBlock return BlockTemplate interface
fae9b60c4ff test: Use LogPrintStr to test m_log_sourcelocations
33381ea530a scripted-diff: Modernize nLocalServices to m_local_services
2a581144f28 build: Minimize I/O operations in GenerateHeaderFromJson.cmake
aa003d1568b build: Minimize I/O operations in GenerateHeaderFromRaw.cmake
9ad2fe7e69e clusterlin: only start/use search when enough iterations left
bd044356edb clusterlin: improve heuristic to decide split transaction (optimization)
71f26293988 clusterlin: include topological pot subsets automatically (optimization)
e20fda77a2d clusterlin: reduce computation of unnecessary pot sets (optimization)
6060a948caf clusterlin bench: add example hard cluster benchmarks
2965fbf203f clusterlin: track upper bound potential set for work items (optimization)
9e43e4ce109 clusterlin: use feerate-sorted depgraph in SearchCandidateFinder
b80e6dfe780 clusterlin: add reordering support for DepGraph
85a285a3061 clusterlin: separate initial search entries per component (optimization)
e4faea9ca79 clusterlin bench: have low/high iter benchmarks instead of per-iter
fa39b1ca638 doc: move-only logging warning
fa252da0b9c ci: Remove hardcoded CCACHE_DIR in cirrus
fa146904e19 ci: Bump default CCACHE_MAXSIZE to 500M
aaaa7cf8bad cirrus: Drop CCACHE_NOHASHDIR
fa7ca182a9b ci: Print inner env
84663291275 chain: simplify `deleteRwSettings` code and improve it's doc
f8d91f49c70 chain: dont check for null settings value in `overwriteRwSetting`
df601993f2d chain: ensure `updateRwSetting` doesn't update to a null settings
5e190cd11f6 Replace CScript _hex_v_u8 appends with _hex
cac846c2fbf Allow CScript's operator<< to accept spans, not just vectors
c78d8ff4cb8 prevector: avoid GCC bogus warnings in insert method
e4e3b44e9cc net: call `Select` with reachable networks in `ThreadOpenConnections`
829becd990b addrman: change `Select` to support multiple networks
f698636ec86 net: add `All()` in `ReachableNets`
a97f43d63a6 fuzz: Add harness for p2p headers sync
c8e2eeeffb4 chain: uniformly use `SettingsAction` enum in settings methods
f482d0e366a fuzz: reduce number of iterations in `crypto_aeadchacha20poly1305` target
1e9e735670f chain: move new settings safely in `overwriteRwSetting`
1c409004c80 test: remove wallet context from `write_wallet_settings_concurrently`
58499b00d0a refactor: move `SignSignature` helpers to test utils
cd0edf26c07 tracing: cast block_connected duration to nanoseconds
cfd03de965a Add Testnet4 launch shortcut for Windows
77b2923f871 Add Signet launch shortcut for Windows
bc52cda1f3c fix use int32_t instead of int type for risczero compile with (-march=rv32i, -mabi=ilp32)
a0eaa4749fe Add FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION in PoW check
a3f6f5acd89 build: Automatically define FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION for fuzz builds
0c02d4b2bdb net_processing: Make MAX_HEADERS_RESULTS a PeerManager option
51f7668d31e addrman: change nid_type from int to int64_t
051ba3290e3 addrman, refactor: introduce user-defined type for internal nId
bdad0243be8 rpc, net: getrawaddrman "mapped_as" follow-ups
fa1b139d17d Bump python minimum supported version to 3.10
ec585f11c38 Reserve space for transaction inputs in CreateTransactionInternal
c76aaaf9003 Reserve space for transaction outputs in CreateTransactionInternal
bb3b980dfd9 validation: drop maximum -dbcache
REVERT: e70e527ef21 kernel: Add pure kernel bitcoin-chainstate
REVERT: ed9a8a54d3c kernel: Add block index utility functions to C header
REVERT: 6338dd45b55 kernel: Add function to read block undo data from disk to C header
REVERT: a2ac0c1e7c9 kernel: Add functions to read block from disk to C header
REVERT: 170060c3372 kernel: Add function for copying  block data to C header
REVERT: 0f8c00bba07 kernel: Add functions for the block validation state to C header
REVERT: 41dba7d2603 kernel: Add validation interface to C header
REVERT: 877cf01f22c kernel: Add interrupt function to C header
REVERT: f77c2b90422 kernel: Add import blocks function to C header
REVERT: 254e17dbeab kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 8baa06d318f kernel: Add options for reindexing in C header
REVERT: 0243ed8a200 kernel: Add block validation to C header
REVERT: 36fbab87e9e Kernel: Add chainstate loading to kernel C header
REVERT: b249e93f295 kernel: Add chainstate manager object to C header
REVERT: 2546745a393 kernel: Add notifications context option to C header
REVERT: 2578746e87f kerenl: Add chain params context option to C header
REVERT: 21107de0ca7 kernel: Add kernel library context object
REVERT: 83cc65c4911 kernel: Add logging to kernel library C header
REVERT: 2f47169f91e kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 1047757ea3b4b78b51d7338ea44e2123851143fe
@ryanofsky ryanofsky mentioned this pull request Jan 17, 2025
87 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

cmake: multiprocess guix build broken
5 participants