Skip to content

Commit 29d00a1

Browse files
committed
Merge bitcoin/bitcoin#30940: depends: Fix build with MULTIPROCESS=1 in Guix environment
06b4c33 depends: Fix reproducibility when building with `MULTIPROCESS=1` (Hennadii Stepanov) d8e3afc depends: Fix build with `MULTIPROCESS=1` in Guix environment (Hennadii Stepanov) Pull request description: In the Guix environment, `${BASEPREFIX}/${HOST}/native/bin` is added to the `PATH` environment variable:https://github.com/bitcoin/bitcoin/blob/33adc7521cc8bb24b941d959022b084002ba7c60/contrib/guix/libexec/build.sh#L233-L234 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 bitcoin/bitcoin#30931. Can be tested on this [branch](https://github.com/hebasto/bitcoin/commits/240921-guix-mp.DEMO/) with an additional [commit](hebasto/bitcoin@d8ec933): ``` $ 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 ``` ACKs for top commit: ryanofsky: Code review ACK 06b4c33 fanquake: ACK 06b4c33 Tree-SHA512: b219ff29723bf571784af11b8d41fdc0f3fe7e21a87493909f9fcc695e37f9dbf2f6eb0fda172a1e0060dec4d2aeaa7017b1078c0ea0040cabfbbe3e8a352c6b
2 parents 89a8e9b + 06b4c33 commit 29d00a1

File tree

3 files changed

+4
-1
lines changed

3 files changed

+4
-1
lines changed

depends/packages/capnp.mk

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ define $(package)_set_vars :=
99
$(package)_config_opts := -DBUILD_TESTING=OFF
1010
$(package)_config_opts += -DWITH_OPENSSL=OFF
1111
$(package)_config_opts += -DWITH_ZLIB=OFF
12+
$(package)_cxxflags += -ffile-prefix-map=$$($(package)_extract_dir)=/usr
1213
endef
1314

1415
define $(package)_config_cmds

depends/packages/libmultiprocess.mk

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ ifneq ($(host),$(build))
1313
$(package)_config_opts := -DCAPNP_EXECUTABLE="$$(native_capnp_prefixbin)/capnp"
1414
$(package)_config_opts += -DCAPNPC_CXX_EXECUTABLE="$$(native_capnp_prefixbin)/capnpc-c++"
1515
endif
16+
$(package)_cxxflags += -ffile-prefix-map=$$($(package)_extract_dir)=/usr
1617
endef
1718

1819
define $(package)_config_cmds

depends/toolchain.cmake.in

+2-1
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,8 @@ endif()
168168

169169
if("@multiprocess@" STREQUAL "1")
170170
set(WITH_MULTIPROCESS ON CACHE BOOL "")
171-
set(LibmultiprocessNative_DIR "${CMAKE_FIND_ROOT_PATH}/native/lib/cmake/Libmultiprocess" CACHE PATH "")
171+
set(Libmultiprocess_ROOT "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "")
172+
set(LibmultiprocessNative_ROOT "${CMAKE_CURRENT_LIST_DIR}/native" CACHE PATH "")
172173
else()
173174
set(WITH_MULTIPROCESS OFF CACHE BOOL "")
174175
endif()

0 commit comments

Comments
 (0)