Skip to content

Commit 54f6756

Browse files
committed
Merge bitcoin#28846: depends: fix libmultiprocess build on aarch64
bde8d63 depends: build libmultiprocess with position independant code (fanquake) 506634d depends: always install libmultiprocess to /lib (fanquake) beb3096 depends: always install capnp to /lib (fanquake) Pull request description: Change to always install libmultiprocess into `lib/`. On some systems (my Fedora aarch64 box), libmultiprocess was being installed into `lib64/`, and then configure would fail to pick it up, because we only add `lib/` to pkgconfig/ldflags out of depends. Rather than adding lib64 to those, I opted for installing libmultiprocess into lib, with every other dependency we build. This was broken in our build after bitcoin-core/libmultiprocess#79 upstream. ACKs for top commit: ryanofsky: Code review ACK bde8d63. Only changes since last review were reverting the native_capnp change as suggested, and changing the order of the first two commits. Tree-SHA512: ddd547e4ac224f2f199c569efd91104db7f2c243b124f9535aa0d9377315775ac566d699101580ce45ddd6676ad3e0c8cbe256334eeed9548205c2fa04d02102
2 parents f48a789 + bde8d63 commit 54f6756

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

depends/packages/capnp.mk

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,15 @@ $(package)_download_file=$(native_$(package)_download_file)
55
$(package)_file_name=$(native_$(package)_file_name)
66
$(package)_sha256_hash=$(native_$(package)_sha256_hash)
77

8+
# Hardcode library install path to "lib" to match the PKG_CONFIG_PATH
9+
# setting in depends/config.site.in, which also hardcodes "lib".
10+
# Without this setting, cmake by default would use the OS library
11+
# directory, which might be "lib64" or something else, not "lib", on multiarch systems.
812
define $(package)_set_vars :=
9-
$(package)_config_opts := -DBUILD_TESTING=OFF
10-
$(package)_config_opts += -DWITH_OPENSSL=OFF
11-
$(package)_config_opts += -DWITH_ZLIB=OFF
13+
$(package)_config_opts := -DBUILD_TESTING=OFF
14+
$(package)_config_opts += -DWITH_OPENSSL=OFF
15+
$(package)_config_opts += -DWITH_ZLIB=OFF
16+
$(package)_config_opts += -DCMAKE_INSTALL_LIBDIR=lib/
1217
endef
1318

1419
define $(package)_config_cmds

depends/packages/libmultiprocess.mk

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,13 @@ ifneq ($(host),$(build))
88
$(package)_dependencies += native_capnp
99
endif
1010

11+
# Hardcode library install path to "lib" to match the PKG_CONFIG_PATH
12+
# setting in depends/config.site.in, which also hardcodes "lib".
13+
# Without this setting, cmake by default would use the OS library
14+
# directory, which might be "lib64" or something else, not "lib", on multiarch systems.
1115
define $(package)_set_vars :=
16+
$(package)_config_opts += -DCMAKE_INSTALL_LIBDIR=lib/
17+
$(package)_config_opts += -DCMAKE_POSITION_INDEPENDENT_CODE=ON
1218
ifneq ($(host),$(build))
1319
$(package)_config_opts := -DCAPNP_EXECUTABLE="$$(native_capnp_prefixbin)/capnp"
1420
$(package)_config_opts += -DCAPNPC_CXX_EXECUTABLE="$$(native_capnp_prefixbin)/capnpc-c++"

0 commit comments

Comments
 (0)