Skip to content

Conversation

hebasto
Copy link
Member

@hebasto hebasto commented Mar 14, 2022

These checks are handled by the LT_INIT macro.

Inspired by bitcoin-core/secp256k1#1088.

On master (f3e0ace):

$ ./configure --with-incompatible-bdb 2>&1 | grep -n -E 'ranlib\.\.\.|strip\.\.\.'
56:checking for strip... strip
57:checking for ranlib... ranlib
102:checking for ranlib... /usr/bin/ranlib
103:checking for strip... /usr/bin/strip
380:checking for strip... strip
381:checking for ranlib... ranlib

With this PR:

$ ./configure --with-incompatible-bdb 2>&1 | grep -n -E 'ranlib\.\.\.|strip\.\.\.'
56:checking for strip... strip
57:checking for ranlib... ranlib
377:checking for strip... strip
378:checking for ranlib... ranlib
$ CONFIG_SITE=$PWD/depends/x86_64-apple-darwin/share/config.site ./configure 2>&1 | grep -n -E 'ranlib\.\.\.|strip\.\.\.'
8:checking for x86_64-apple-darwin-strip... /home/hebasto/GitHub/bitcoin/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-strip
61:checking for x86_64-apple-darwin-strip... (cached) /home/hebasto/GitHub/bitcoin/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-strip
62:checking for x86_64-apple-darwin-ranlib... /home/hebasto/GitHub/bitcoin/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-ranlib
188:checking whether the linker accepts -Wl,-dead_strip... yes
367:checking for x86_64-apple-darwin-strip... /home/hebasto/GitHub/bitcoin/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-strip
411:checking for x86_64-apple-darwin-strip... (cached) /home/hebasto/GitHub/bitcoin/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-strip
412:checking for x86_64-apple-darwin-ranlib... /home/hebasto/GitHub/bitcoin/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-ranlib

Guix builds on x86_64:

...

@hebasto hebasto marked this pull request as draft March 14, 2022 18:55
@real-or-random
Copy link
Contributor

Looking at the MacOS failure (https://cirrus-ci.com/task/4873523561758720): Oh ok, AC_PATH_TOOL sets the absolute path. This may be a real difference, and I suspect it is in this case...

@hebasto
Copy link
Member Author

hebasto commented Mar 14, 2022

Guix build hashes have been added to the PR description.

Copy link
Contributor

@real-or-random real-or-random left a comment

Choose a reason for hiding this comment

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

Concept ACK -- this works in bitcoin-core/secp256k1#1088 and has solved a real compilation issue (related to emscripten/wasm)

configure.ac Outdated
@@ -1863,6 +1861,7 @@ AC_SUBST(BITCOIN_WALLET_TOOL_NAME)
AC_SUBST(BITCOIN_MP_NODE_NAME)
AC_SUBST(BITCOIN_MP_GUI_NAME)

AC_SUBST(PATH)
Copy link
Contributor

Choose a reason for hiding this comment

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

Ok, this seems to be a good idea anyway. 👍

Copy link
Member

Choose a reason for hiding this comment

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

I'm not entirely sure about this. It seems to me that the PATH needs to come from the shell/OS, not from the build system. I've never seen software do this.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think the point is that in this case PATH already comes from the build system because it's set by config.site, see the discussion below, #24566 (comment) and further down.

Copy link
Member

Choose a reason for hiding this comment

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

OK, I understand the reasoning then. This seems like a specific trick that we use in depends, which makes this necessary. Maybe this can be conditional on depends builds somehow?

For normal builds it seems an unexpected thing to do.

Copy link
Member

@laanwj laanwj Apr 15, 2022

Choose a reason for hiding this comment

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

Or maybe better: make depends explicitly override full RANLIB and STRIP paths, so PATH doesn't matter?

Copy link
Member Author

Choose a reason for hiding this comment

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

@laanwj

Or maybe better: make depends explicitly override full RANLIB and STRIP paths, so PATH doesn't matter?

Right! Done in #24866.

@hebasto
Copy link
Member Author

hebasto commented Mar 15, 2022

Looking at the MacOS failure

Fixed.

@hebasto hebasto marked this pull request as ready for review March 15, 2022 07:28
@real-or-random
Copy link
Contributor

Concept ACK -- this works in bitcoin-core/secp256k1#1088 and has solved a real compilation issue (related to emscripten/wasm)

On a second thought, I'm not sure. The real compilation issue was solved by the AR part in the mentioned PR, not by the STRIP/RANLIB part that has been ported here.

I don't know much about the history of the configure file here but from looking at it, it seems that the general idea is to always use absolute path, i.e., always call the AC_PATH_ version of the macros, which then does not rely on the value of $PATH, and thus does not need an AC_SUBST(PATH) as in this PR.

But I wonder why AC_SUBST(PATH) should be required at all. I mean, why would be PATH be different configure vs make? Wouldn't this mean that configure is (internally) changing the PATH? But I don't see where. Possibly relevant observation: The failure here is in an external script (install-sh). A very related PR was #19565, there the failure was again in an external script (libtool)

Maybe it's better to leave the code as is and stick to AC_PATH_ version. But it's still interesting to know why PATH is different in configure vs make in the first place. Not sure if it's worth digging here but understanding this may help make the build system less fragile (and make some of AC_PATH_ calls redundant).

@hebasto
Copy link
Member Author

hebasto commented Mar 15, 2022

I mean, why would be PATH be different configure vs make? Wouldn't this mean that configure is (internally) changing the PATH? But I don't see where.

PATH="${depends_prefix}/native/bin:${PATH}"

@real-or-random
Copy link
Contributor

real-or-random commented Mar 15, 2022

Oh I see! Yeah, I guess my naive thinking then is: if config.site sets PATH, so configure runs with a certain PATH, then it makes a lot of sense that make runs with the same PATH. And this will follow the principle of least surprise. But I think you and the other regular contributors here can judge better if substituting PATH will have unintended effects for the rest of build system (and if it was a deliberate decision not to do this by now). edit: If we want to substitute PATH, then it's probably possible to get rid of more redundant checks, e.g., the mentioned dsymutil, and this will remove a potential source of those build issues. (We hit #19565 in the past and who knows which other tool we'll need to AC_PATH_ check for tomorrow.)

Sorry for starting this discussion without even a concrete build problem...

@DrahtBot
Copy link
Contributor

DrahtBot commented Mar 17, 2022

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

Conflicts

No conflicts as of last run.

@laanwj
Copy link
Member

laanwj commented Apr 4, 2022

Concept ACK. Less redundant probing in configure means a slightly faster build process.

@jarolrod
Copy link
Member

jarolrod commented Apr 7, 2022

GUIX hashes (x86), mine match @hebasto

find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum

1204b80a9cb4494058c6179824e78363bd51523b895e23ce25d343ae8d514f47  guix-build-a010e086ea86/output/aarch64-linux-gnu/SHA256SUMS.part
d81ecca2893e58e233744ea17df87ac993a11380d01b942ede3b3ffa31a084d2  guix-build-a010e086ea86/output/aarch64-linux-gnu/bitcoin-a010e086ea86-aarch64-linux-gnu-debug.tar.gz
a3d02318fdaebc226a76565df409ccbc71fdc6506bb6d8373204ec75263b547d  guix-build-a010e086ea86/output/aarch64-linux-gnu/bitcoin-a010e086ea86-aarch64-linux-gnu.tar.gz
840501b98ebb22d92923265623c41d0ddf78b07f1d644f1cc6e539589d35c80f  guix-build-a010e086ea86/output/arm-linux-gnueabihf/SHA256SUMS.part
d673689e898296563d92348ab1a07f77f6449c5d75ae1179c42688c1213f4a4f  guix-build-a010e086ea86/output/arm-linux-gnueabihf/bitcoin-a010e086ea86-arm-linux-gnueabihf-debug.tar.gz
7e3fe058ed10be43ec1184f763a6ec6b38775b9e558e7141803735c575762492  guix-build-a010e086ea86/output/arm-linux-gnueabihf/bitcoin-a010e086ea86-arm-linux-gnueabihf.tar.gz
4b09e5bb0e29ec4d7959fbc8f52e7b4f2831085ddfc91b2b711ff73803a5cf04  guix-build-a010e086ea86/output/arm64-apple-darwin/SHA256SUMS.part
712e244699e976981c4a9b52c264b8e298edad278ad5c629ffe6015476b57fa2  guix-build-a010e086ea86/output/arm64-apple-darwin/bitcoin-a010e086ea86-arm64-apple-darwin.tar.gz
edf1b2469fca14869ea9416c9d953f2b96ffd4dd33c9a861ff8e2f97b06bb356  guix-build-a010e086ea86/output/arm64-apple-darwin/bitcoin-a010e086ea86-osx-unsigned.dmg
419c4939ab0405eeed4f2008a3329257c659bf6c58cc3891cc4aceeca13d7a32  guix-build-a010e086ea86/output/arm64-apple-darwin/bitcoin-a010e086ea86-osx-unsigned.tar.gz
d0af5d7ec5b94f110ed9fc1d751ef37b931abf102302145bb834ce6cded28f5d  guix-build-a010e086ea86/output/dist-archive/bitcoin-a010e086ea86.tar.gz
0b8b3d6e91b5c8e6cfc4fd4a7353d84f0f1c4439628921429df126756d83cced  guix-build-a010e086ea86/output/powerpc64-linux-gnu/SHA256SUMS.part
0ea8dfe3b3952b8be6281573a7d2f9b3e8f7969ddafca0a7bc30521b80b272ef  guix-build-a010e086ea86/output/powerpc64-linux-gnu/bitcoin-a010e086ea86-powerpc64-linux-gnu-debug.tar.gz
057ded6305ce692be84ba8e82d285b6d39c58b73addb7554c484961310dcd0b7  guix-build-a010e086ea86/output/powerpc64-linux-gnu/bitcoin-a010e086ea86-powerpc64-linux-gnu.tar.gz
bdcd5404175cc92c9d6cd270dabed48c415da307e5553c5425b9f3ddee435b64  guix-build-a010e086ea86/output/powerpc64le-linux-gnu/SHA256SUMS.part
8da0de6e0326617910af5f078ee9d5d5c2128c7da8128327e1519fa0366e5429  guix-build-a010e086ea86/output/powerpc64le-linux-gnu/bitcoin-a010e086ea86-powerpc64le-linux-gnu-debug.tar.gz
d52752692fa44034a6a6e1897845c8e15e75189336e8f6d122ea65459d4cb92e  guix-build-a010e086ea86/output/powerpc64le-linux-gnu/bitcoin-a010e086ea86-powerpc64le-linux-gnu.tar.gz
4545b85571f3ab45625c36b750c97a1d344440449101fa0e0de5f9374fdfdc15  guix-build-a010e086ea86/output/riscv64-linux-gnu/SHA256SUMS.part
7efc982a6ecc445122e9d237621912904124d0df07fa771794d7d5dbaf2c955e  guix-build-a010e086ea86/output/riscv64-linux-gnu/bitcoin-a010e086ea86-riscv64-linux-gnu-debug.tar.gz
f3a74fe4330db0a5496d77e8d46bd658e9f2186893ab071f7a23c49db79b74a1  guix-build-a010e086ea86/output/riscv64-linux-gnu/bitcoin-a010e086ea86-riscv64-linux-gnu.tar.gz
6fd15c424b430a15f97174e4cd5bad155ef34116224d7db00fcd0b848b2e8fd0  guix-build-a010e086ea86/output/x86_64-apple-darwin/SHA256SUMS.part
69dd083effb4fd303eb99a4eb73f0d11d7222e696155fea2a9dc3e5106b18a43  guix-build-a010e086ea86/output/x86_64-apple-darwin/bitcoin-a010e086ea86-osx-unsigned.dmg
facdc0185e54438667e507c2a867ed0e93cd8b31a0f2e71422981d07c8691064  guix-build-a010e086ea86/output/x86_64-apple-darwin/bitcoin-a010e086ea86-osx-unsigned.tar.gz
6d6f4fce0003aa644ea083d6cfb0050dd2b069f0caa196a6208d8ea05a40d047  guix-build-a010e086ea86/output/x86_64-apple-darwin/bitcoin-a010e086ea86-osx64.tar.gz
640d775bb25d08822c0266628c485570ad632e02190c61d716e1b848787b90b0  guix-build-a010e086ea86/output/x86_64-linux-gnu/SHA256SUMS.part
3b872e3b5c6e7bb86211c84fcd8a9431276c85ac4799ab2d07944288c64b38d2  guix-build-a010e086ea86/output/x86_64-linux-gnu/bitcoin-a010e086ea86-x86_64-linux-gnu-debug.tar.gz
8ca9027fa3df4425079a69bc02c26cca8eb3e79c67b5f8e67e2ff11b560519cb  guix-build-a010e086ea86/output/x86_64-linux-gnu/bitcoin-a010e086ea86-x86_64-linux-gnu.tar.gz
ddb1b73788971662ce88f0ceb1ff471434a3551489977eb93312f58b716cb815  guix-build-a010e086ea86/output/x86_64-w64-mingw32/SHA256SUMS.part
b30be948b0851f7a40320588e05fcf688305cb95ceae20e9c337922b0a24f634  guix-build-a010e086ea86/output/x86_64-w64-mingw32/bitcoin-a010e086ea86-win-unsigned.tar.gz
e3f269958b90090f724b89175a7d96c079504fff92ee42a118b32fd648534eb2  guix-build-a010e086ea86/output/x86_64-w64-mingw32/bitcoin-a010e086ea86-win64-debug.zip
ad55dbf413cf56b4cc145ef7b11032557b9c5d847cf4e2856d62072457e386a5  guix-build-a010e086ea86/output/x86_64-w64-mingw32/bitcoin-a010e086ea86-win64-setup-unsigned.exe
542551f895395e431bc9c205db994775883383b36b2c1524956201346d896525  guix-build-a010e086ea86/output/x86_64-w64-mingw32/bitcoin-a010e086ea86-win64.zip

@hebasto hebasto closed this Apr 14, 2022
@laanwj
Copy link
Member

laanwj commented Apr 15, 2022

To be clear I didn't mean to NACK this, I think it's the right way forward. But the apparent need for exporting PATH might point at a deeper issue in how we do the hacks for the depends build. e.g. #24566 (comment)
Configure.site should likely just provide the full path to these tools.

@hebasto hebasto reopened this Apr 15, 2022
@hebasto hebasto marked this pull request as draft April 15, 2022 16:59
@hebasto hebasto force-pushed the 220314-conf branch 2 times, most recently from fa04be5 to 90c1207 Compare April 15, 2022 17:15
@hebasto
Copy link
Member Author

hebasto commented Apr 15, 2022

Rebased on top of the #24866, and converted to a draft until the latter is merged.

@fanquake
Copy link
Member

Concept ACK

fanquake added a commit to bitcoin-core/gui that referenced this pull request May 5, 2022
… variable in `config.site`

efa3a80 build: No longer need to hack the `PATH` variable in `config.site` (Hennadii Stepanov)
f3af4f7 build: Let the depends build system define a path to `dsymutil` tool (Hennadii Stepanov)
b0a8dda build: Pass missed darwin-specific tools via `config.site` (Hennadii Stepanov)
f87594d build: No need to provide defaults for darwin-specific tools (Hennadii Stepanov)
80cd993 scripted-diff: Rename INSTALLNAMETOOL -> INSTALL_NAME_TOOL (Hennadii Stepanov)
a4fd440 build: Pass missed `strip` tool via `config.site` (Hennadii Stepanov)

Pull request description:

  This PR adds lacking definitions of absolute paths to some tools in the depends build system.

  This improvement makes possible to keep the `PATH` variable untouched during configuration.

  Also see bitcoin/bitcoin#24566 (comment).

  #### Guix builds on `x86_64`:
  ```
  $ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  93fa58bf2a1f5c15c5a547c014036ac79761e5c9622bd5099408ce570b39f02f  guix-build-efa3a807a677/output/aarch64-linux-gnu/SHA256SUMS.part
  ef5f53348404ba973dceaf088a4d47dfd0f1fa3d3bf75bdd723b043431de005d  guix-build-efa3a807a677/output/aarch64-linux-gnu/bitcoin-efa3a807a677-aarch64-linux-gnu-debug.tar.gz
  6688b2295d564b32ea676c0540c43cdc5211322eddc87e0967b764284e847368  guix-build-efa3a807a677/output/aarch64-linux-gnu/bitcoin-efa3a807a677-aarch64-linux-gnu.tar.gz
  4abb3428be477aa7360611689fd28950f30dbbac6a95c454095367d8df11ad72  guix-build-efa3a807a677/output/arm-linux-gnueabihf/SHA256SUMS.part
  8dd33389170e83812821d5dd68741db96af1376035ba40af0215a7ae95dcf7fc  guix-build-efa3a807a677/output/arm-linux-gnueabihf/bitcoin-efa3a807a677-arm-linux-gnueabihf-debug.tar.gz
  544e97eb88b2a44c8ceb9660399eb5d49d75e07ff59fc03a701a595bacea0491  guix-build-efa3a807a677/output/arm-linux-gnueabihf/bitcoin-efa3a807a677-arm-linux-gnueabihf.tar.gz
  219faf1131bdcffffd5979eafd2beabc4a300081f8b1df184852b7183dfbc0e8  guix-build-efa3a807a677/output/arm64-apple-darwin/SHA256SUMS.part
  602a417bfa7971fb26d0fe9921d2348fd0d01a5bcf0af93f8a9d50112076e0eb  guix-build-efa3a807a677/output/arm64-apple-darwin/bitcoin-efa3a807a677-arm64-apple-darwin-unsigned.dmg
  0dcb197420844da8da3f528a1d986628f7b63adb1e83353d63e8a84da59abc42  guix-build-efa3a807a677/output/arm64-apple-darwin/bitcoin-efa3a807a677-arm64-apple-darwin-unsigned.tar.gz
  10efdd33418234a8288c27a614f50e9ff45efbd681fa1c0e173142b6d267cdb8  guix-build-efa3a807a677/output/arm64-apple-darwin/bitcoin-efa3a807a677-arm64-apple-darwin.tar.gz
  e5ef02adeb9bcb4675972b0dc233a904006b0940d721049eeb94b14cda34872e  guix-build-efa3a807a677/output/dist-archive/bitcoin-efa3a807a677.tar.gz
  a75d2a49b7a8ab1c849e1badff5049a417519f0154b65335a8717d01b8b6ed62  guix-build-efa3a807a677/output/powerpc64-linux-gnu/SHA256SUMS.part
  aef63d196487dd0bc597fd53633ac889149f1a126c651ea55f3bec11a092c460  guix-build-efa3a807a677/output/powerpc64-linux-gnu/bitcoin-efa3a807a677-powerpc64-linux-gnu-debug.tar.gz
  ddc7913eed26270be271a8712bf351d562d57c746810ea3b7b4101aea8cb6d89  guix-build-efa3a807a677/output/powerpc64-linux-gnu/bitcoin-efa3a807a677-powerpc64-linux-gnu.tar.gz
  83bbf4b1af07a2cf7d6014de7c885f0998dd38afacdb5242f5f56505ee704f17  guix-build-efa3a807a677/output/powerpc64le-linux-gnu/SHA256SUMS.part
  c9d5d95de98ed987b63a78d4f6e082cb36d5ec3ba71d130601e03d3ebfbd208d  guix-build-efa3a807a677/output/powerpc64le-linux-gnu/bitcoin-efa3a807a677-powerpc64le-linux-gnu-debug.tar.gz
  88ed6ec82dd4c1c656fe80b4c49f91a4c15c2ab798dbbe16a3d57393f17d6f3a  guix-build-efa3a807a677/output/powerpc64le-linux-gnu/bitcoin-efa3a807a677-powerpc64le-linux-gnu.tar.gz
  7b8e7b3b1e68a2ea0e37c058b284da11e9721ef4d1bc2761ed003b2061358d5f  guix-build-efa3a807a677/output/riscv64-linux-gnu/SHA256SUMS.part
  a5de4bedf2b4bc5ab25db21b942076897cabe8a40ce9b0637488af6b4d90693a  guix-build-efa3a807a677/output/riscv64-linux-gnu/bitcoin-efa3a807a677-riscv64-linux-gnu-debug.tar.gz
  53023994202887778a001ce00daf7cdc135b9e6c3be034f31645ab4ba5f078c6  guix-build-efa3a807a677/output/riscv64-linux-gnu/bitcoin-efa3a807a677-riscv64-linux-gnu.tar.gz
  c6664a61b81dfa080c466d2252a6db70165acbea6cfad51ada16970e9c08bb6f  guix-build-efa3a807a677/output/x86_64-apple-darwin/SHA256SUMS.part
  a528569ae4bf5e19401311649086a2d8e3fa5251b44550e623722968dfb111ea  guix-build-efa3a807a677/output/x86_64-apple-darwin/bitcoin-efa3a807a677-x86_64-apple-darwin-unsigned.dmg
  9b0384cce7605b546ed581074955f2b9c33cf0817453842036e6224b423b814b  guix-build-efa3a807a677/output/x86_64-apple-darwin/bitcoin-efa3a807a677-x86_64-apple-darwin-unsigned.tar.gz
  ebdbd2f3a6406233f27ee48be0ab014991fedba3c0831f79f4a4873f7abf3d7a  guix-build-efa3a807a677/output/x86_64-apple-darwin/bitcoin-efa3a807a677-x86_64-apple-darwin.tar.gz
  05a8f71fe67f7193e71ea8bbe6f8df2e651b8ac7da3075ba25aacdd3515f7757  guix-build-efa3a807a677/output/x86_64-linux-gnu/SHA256SUMS.part
  30a17a1e3d795ea390cd1e0f3ef74c989b5768ae7415740fcca46befe4cb7206  guix-build-efa3a807a677/output/x86_64-linux-gnu/bitcoin-efa3a807a677-x86_64-linux-gnu-debug.tar.gz
  66db846f3fd739089afa5c339659dbf5efb50572f2d29f8288bf24be9e8f1dd0  guix-build-efa3a807a677/output/x86_64-linux-gnu/bitcoin-efa3a807a677-x86_64-linux-gnu.tar.gz
  bd3c44890823badcf6d296fa674de14275684be7593f4ab21c0316873ddd8652  guix-build-efa3a807a677/output/x86_64-w64-mingw32/SHA256SUMS.part
  6ce3ee21212ff2a95e085073a48194476ade2d5ff94cc1c8ec58a8ae7db8f1fa  guix-build-efa3a807a677/output/x86_64-w64-mingw32/bitcoin-efa3a807a677-win64-debug.zip
  5e697c05537cfb2ce2ed95fef25e261e2cfa83a31fd548a98118580c4bbff2e4  guix-build-efa3a807a677/output/x86_64-w64-mingw32/bitcoin-efa3a807a677-win64-setup-unsigned.exe
  4cc2bcff98845c792c0ed12a2ea407b25fb85b2d4250d88dca94ed68f42e714d  guix-build-efa3a807a677/output/x86_64-w64-mingw32/bitcoin-efa3a807a677-win64-unsigned.tar.gz
  9d5d72271dc6b820e63b30c5c3f9015309777793100b4e2b6ab0c8ea0f7b4aed  guix-build-efa3a807a677/output/x86_64-w64-mingw32/bitcoin-efa3a807a677-win64.zip
  ```

ACKs for top commit:
  laanwj:
    Tested ACK efa3a80. I get the same build output as in OP:
  vincenzopalazzo:
    Re ACK bitcoin/bitcoin@efa3a80

Tree-SHA512: 6d35c11fc307221d61ad250bbdcdc09dbc49adbe43f7a94acb56190ae9f005d23fc22941ea59e3eb62811f8974e39d3617e0c47071232d4b1b0bc2e2e2782e88
These checks are handled by the `LT_INIT` macro.
@hebasto hebasto marked this pull request as ready for review May 5, 2022 08:43
@hebasto
Copy link
Member Author

hebasto commented May 5, 2022

Rebased on top of the #24866, and converted to a draft until the latter is merged.

#24866 has just been merged, so this PR has been rebased, and it is ready for review now.

Copy link
Contributor

@real-or-random real-or-random left a comment

Choose a reason for hiding this comment

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

ACK a0e2a31

@fanquake
Copy link
Member

fanquake commented May 5, 2022

Guix Build on x86_64:

1e85821bd03887b01c64963bad6802299257f2e358d4520ef268f91d648754d9  guix-build-a0e2a3133a19/output/aarch64-linux-gnu/SHA256SUMS.part
b5142d7f026c208e4e4f302b93c7c8ed83071adb0079ee68b40d2d533860a71d  guix-build-a0e2a3133a19/output/aarch64-linux-gnu/bitcoin-a0e2a3133a19-aarch64-linux-gnu-debug.tar.gz
c49e400af7d0c469cd507e2aab6f0b97038432e5eec3fd67e6543a195fc8ac4e  guix-build-a0e2a3133a19/output/aarch64-linux-gnu/bitcoin-a0e2a3133a19-aarch64-linux-gnu.tar.gz
c7d83b07b6f23fa24c983185c07c211c33f054360edb397d213d144a15ab1691  guix-build-a0e2a3133a19/output/arm-linux-gnueabihf/SHA256SUMS.part
9fb327bda89015574faf19f042874229ffa974cd2673acff1d974d3de475437e  guix-build-a0e2a3133a19/output/arm-linux-gnueabihf/bitcoin-a0e2a3133a19-arm-linux-gnueabihf-debug.tar.gz
46f28a6ba05f96efcf48dad53c78115e6eda9a35a440b5bd6b908f0b703e71f1  guix-build-a0e2a3133a19/output/arm-linux-gnueabihf/bitcoin-a0e2a3133a19-arm-linux-gnueabihf.tar.gz
1e12cc9e3faf7a147e2b6a8882666fa244b41ef782665a7ee66d78464cd854c8  guix-build-a0e2a3133a19/output/arm64-apple-darwin/SHA256SUMS.part
4b81f07544f954b5ab8fb1947964840a69415936799513a9d36be55976f3c61f  guix-build-a0e2a3133a19/output/arm64-apple-darwin/bitcoin-a0e2a3133a19-arm64-apple-darwin-unsigned.dmg
7aaec6aa727c5c9488a0c425c2be3c4f8ab3107e1d1dc85d0e842724f238e1eb  guix-build-a0e2a3133a19/output/arm64-apple-darwin/bitcoin-a0e2a3133a19-arm64-apple-darwin-unsigned.tar.gz
8853183cd10f82ba36718fe646edccb0378f6e7f756ad32ae7c49dfa727eded4  guix-build-a0e2a3133a19/output/arm64-apple-darwin/bitcoin-a0e2a3133a19-arm64-apple-darwin.tar.gz
268441c61a3c99ee86ae6b6b0bdd0476cfd7b3ced2881ee8ca3ced28038df837  guix-build-a0e2a3133a19/output/dist-archive/bitcoin-a0e2a3133a19.tar.gz
49bdbe5570c9e07ee0cb214b86208b4f13f5767f8a9d62d493926a4fa7702118  guix-build-a0e2a3133a19/output/powerpc64-linux-gnu/SHA256SUMS.part
d095db3fc45a42203c4c7ce97a0ef614a25af76fa6a6416b61b13f143d9e5397  guix-build-a0e2a3133a19/output/powerpc64-linux-gnu/bitcoin-a0e2a3133a19-powerpc64-linux-gnu-debug.tar.gz
8ddc8e5fd6d547067d91935b43edb7f246f1fd3c55b46ac55bf194428727c0c7  guix-build-a0e2a3133a19/output/powerpc64-linux-gnu/bitcoin-a0e2a3133a19-powerpc64-linux-gnu.tar.gz
09560b72f8c75168aa97f8bc190da538e01ba0c0d2927dcfe619563a930803cb  guix-build-a0e2a3133a19/output/powerpc64le-linux-gnu/SHA256SUMS.part
d0532aec10368b54a3d922e5b424ed46325c090e42708ea2a683b200648a70a8  guix-build-a0e2a3133a19/output/powerpc64le-linux-gnu/bitcoin-a0e2a3133a19-powerpc64le-linux-gnu-debug.tar.gz
58d8fd219ab77bff6e15f735191c0b5162c80adbca5f7114af718e8ba80bff7e  guix-build-a0e2a3133a19/output/powerpc64le-linux-gnu/bitcoin-a0e2a3133a19-powerpc64le-linux-gnu.tar.gz
64c9b9665546cfb6584eca0f5c8eb0707915aa8e09abc024cdd5398f5c4b6d71  guix-build-a0e2a3133a19/output/riscv64-linux-gnu/SHA256SUMS.part
184136e8f683641ee6165ed5e891fb16184e7d8bebf26687b27b1a550abd66c2  guix-build-a0e2a3133a19/output/riscv64-linux-gnu/bitcoin-a0e2a3133a19-riscv64-linux-gnu-debug.tar.gz
717061d65aa7ca45f480ac33417514457ee5a295a08cae0298d98b346600db7b  guix-build-a0e2a3133a19/output/riscv64-linux-gnu/bitcoin-a0e2a3133a19-riscv64-linux-gnu.tar.gz
79605eb16c92cfe4d6e1b882b2e9772291779575693fa9bf65df226537d958e6  guix-build-a0e2a3133a19/output/x86_64-apple-darwin/SHA256SUMS.part
30c266e603a0bea28baecf538a632f70dbc57919ca1857638d54100ab006a702  guix-build-a0e2a3133a19/output/x86_64-apple-darwin/bitcoin-a0e2a3133a19-x86_64-apple-darwin-unsigned.dmg
93d525840320f923fdee817cb00296f54a6f2c79c903c9450a3c4320c1de79f6  guix-build-a0e2a3133a19/output/x86_64-apple-darwin/bitcoin-a0e2a3133a19-x86_64-apple-darwin-unsigned.tar.gz
c6b15d693f5ab55c85a41580ea681320b5cc126c065479b73931ad6bbb2609ec  guix-build-a0e2a3133a19/output/x86_64-apple-darwin/bitcoin-a0e2a3133a19-x86_64-apple-darwin.tar.gz
c314c4ba14457e98faa7ca12856ec473e52db977bf23400739f2478fe9c9b02b  guix-build-a0e2a3133a19/output/x86_64-linux-gnu/SHA256SUMS.part
ea00909ea627e2a62c4dd2f359ec30a84f3fd4c3e0b7efd88a340056c74fdb4d  guix-build-a0e2a3133a19/output/x86_64-linux-gnu/bitcoin-a0e2a3133a19-x86_64-linux-gnu-debug.tar.gz
4cec4a147b39f3b7419d1912195db84ded7a77b7bbd93da1dfac95bf0eccfaa7  guix-build-a0e2a3133a19/output/x86_64-linux-gnu/bitcoin-a0e2a3133a19-x86_64-linux-gnu.tar.gz
ba92ced7b80cce2a45f30815208259e8b1ba7c72619f03c171583e6bfac31432  guix-build-a0e2a3133a19/output/x86_64-w64-mingw32/SHA256SUMS.part
6d47b128597116478f6595af88987e32c06fb4a2f0deebaf985605063ab9286a  guix-build-a0e2a3133a19/output/x86_64-w64-mingw32/bitcoin-a0e2a3133a19-win64-debug.zip
f8b0c08ec3c3d0124ef403b2acde1ec5116d9642dc8147e46e3c463ca3f327a4  guix-build-a0e2a3133a19/output/x86_64-w64-mingw32/bitcoin-a0e2a3133a19-win64-setup-unsigned.exe
ba12a3c39a984e50b8067b63f2c544bfc562155d1ed626c6546258a7d2389264  guix-build-a0e2a3133a19/output/x86_64-w64-mingw32/bitcoin-a0e2a3133a19-win64-unsigned.tar.gz
835be313a38c8de80eab4fd7216535e266a1f8d99d62f552b0a2b81d48cb999c  guix-build-a0e2a3133a19/output/x86_64-w64-mingw32/bitcoin-a0e2a3133a19-win64.zip

@fanquake
Copy link
Member

fanquake commented May 5, 2022

Guix build on arm64:

06e4ca85e11dce0422e211ed69f723b8e7652a06229827ccb0fd16eb18deb8a6  guix-build-a0e2a3133a19/output/arm-linux-gnueabihf/SHA256SUMS.part
3e284cb5f57fa195e97194d5839954b910d5c69cab23afd377820b52103c7a9a  guix-build-a0e2a3133a19/output/arm-linux-gnueabihf/bitcoin-a0e2a3133a19-arm-linux-gnueabihf-debug.tar.gz
3a6b318b5c0654617cccaf492ac2b212ce97116972a42175d8345bce019d5a1b  guix-build-a0e2a3133a19/output/arm-linux-gnueabihf/bitcoin-a0e2a3133a19-arm-linux-gnueabihf.tar.gz
dade10dcb62f08babbf1eb4c024a4f124b33703c7c79bff5102448b464a18563  guix-build-a0e2a3133a19/output/arm64-apple-darwin/SHA256SUMS.part
4990a6d116fb55bdd34317b42465d03196f71580821ad3962934a0c8e5028251  guix-build-a0e2a3133a19/output/arm64-apple-darwin/bitcoin-a0e2a3133a19-arm64-apple-darwin-unsigned.dmg
eafcf41d770a9cb5a70cc466953b8091261818ac10a1fef3569316a0745d3182  guix-build-a0e2a3133a19/output/arm64-apple-darwin/bitcoin-a0e2a3133a19-arm64-apple-darwin-unsigned.tar.gz
378bf9835c20e0b22b722446318c9ef0d9377093b695825c93ac21d245687402  guix-build-a0e2a3133a19/output/arm64-apple-darwin/bitcoin-a0e2a3133a19-arm64-apple-darwin.tar.gz
268441c61a3c99ee86ae6b6b0bdd0476cfd7b3ced2881ee8ca3ced28038df837  guix-build-a0e2a3133a19/output/dist-archive/bitcoin-a0e2a3133a19.tar.gz
23b7ec21e382c30a9b0982321a4ebdbb782a68b20948fc3fd0a12f54ec6beaaa  guix-build-a0e2a3133a19/output/powerpc64-linux-gnu/SHA256SUMS.part
eb618025f03ce7319b15c606af6a5d3164debe7423d2c4ff5b6075500d59f51f  guix-build-a0e2a3133a19/output/powerpc64-linux-gnu/bitcoin-a0e2a3133a19-powerpc64-linux-gnu-debug.tar.gz
734d5ca3cbc847e76e1d86db313788e9f4142e3c26894cba62e5c25ed3effca8  guix-build-a0e2a3133a19/output/powerpc64-linux-gnu/bitcoin-a0e2a3133a19-powerpc64-linux-gnu.tar.gz
061ff70b84fe07c151b5cf61833413d8ec011db5e8b81734ab1e814d5be8a86a  guix-build-a0e2a3133a19/output/powerpc64le-linux-gnu/SHA256SUMS.part
b1a31bb07c8f6338288c7e51a5603a0c1422b14cede198641d27003c34a6a738  guix-build-a0e2a3133a19/output/powerpc64le-linux-gnu/bitcoin-a0e2a3133a19-powerpc64le-linux-gnu-debug.tar.gz
14c8e56750f0e2ec3fc27da88b6f17e54f9443c6ff1f00320c1cf940ec0465d8  guix-build-a0e2a3133a19/output/powerpc64le-linux-gnu/bitcoin-a0e2a3133a19-powerpc64le-linux-gnu.tar.gz
e957e73b8ee8d22ea09f19708b29e8f9343a147582fe960b0cc35eb76877c9ea  guix-build-a0e2a3133a19/output/riscv64-linux-gnu/SHA256SUMS.part
673f4d56e9bb23420e87e89d30bbcf1d87e08a6b4a2a9f70f7b75e192dbfc534  guix-build-a0e2a3133a19/output/riscv64-linux-gnu/bitcoin-a0e2a3133a19-riscv64-linux-gnu-debug.tar.gz
e38426ee0804b06d9b074ae4995f6d191336c678c1133a6db335bc9722a9de3f  guix-build-a0e2a3133a19/output/riscv64-linux-gnu/bitcoin-a0e2a3133a19-riscv64-linux-gnu.tar.gz
79605eb16c92cfe4d6e1b882b2e9772291779575693fa9bf65df226537d958e6  guix-build-a0e2a3133a19/output/x86_64-apple-darwin/SHA256SUMS.part
30c266e603a0bea28baecf538a632f70dbc57919ca1857638d54100ab006a702  guix-build-a0e2a3133a19/output/x86_64-apple-darwin/bitcoin-a0e2a3133a19-x86_64-apple-darwin-unsigned.dmg
93d525840320f923fdee817cb00296f54a6f2c79c903c9450a3c4320c1de79f6  guix-build-a0e2a3133a19/output/x86_64-apple-darwin/bitcoin-a0e2a3133a19-x86_64-apple-darwin-unsigned.tar.gz
c6b15d693f5ab55c85a41580ea681320b5cc126c065479b73931ad6bbb2609ec  guix-build-a0e2a3133a19/output/x86_64-apple-darwin/bitcoin-a0e2a3133a19-x86_64-apple-darwin.tar.gz
d1484883a7b0c935db9dad37e56c8998de7be1888f00b43613169f09803ee12b  guix-build-a0e2a3133a19/output/x86_64-linux-gnu/SHA256SUMS.part
f054a7b975fea9af9ec2499a63d67cb73a665d9c7541794a6105a654194386f2  guix-build-a0e2a3133a19/output/x86_64-linux-gnu/bitcoin-a0e2a3133a19-x86_64-linux-gnu-debug.tar.gz
64c6b0d734aeb055f00402eb28fb466b816797f9338ec504cb04ea0851505072  guix-build-a0e2a3133a19/output/x86_64-linux-gnu/bitcoin-a0e2a3133a19-x86_64-linux-gnu.tar.gz
650b4aafc515660daf77e0e54c6039d3d544ec41e0c9d0a704bea28bca67caa6  guix-build-a0e2a3133a19/output/x86_64-w64-mingw32/SHA256SUMS.part
bea9609f0bd1f54a80780dc527f3b604d99f6b6a80dae28b8d802c8d60d294d3  guix-build-a0e2a3133a19/output/x86_64-w64-mingw32/bitcoin-a0e2a3133a19-win64-debug.zip
f8b0c08ec3c3d0124ef403b2acde1ec5116d9642dc8147e46e3c463ca3f327a4  guix-build-a0e2a3133a19/output/x86_64-w64-mingw32/bitcoin-a0e2a3133a19-win64-setup-unsigned.exe
ba12a3c39a984e50b8067b63f2c544bfc562155d1ed626c6546258a7d2389264  guix-build-a0e2a3133a19/output/x86_64-w64-mingw32/bitcoin-a0e2a3133a19-win64-unsigned.tar.gz
c6c74a05dd5a9532c7b97239d759cf4a74d3306b0fc223a051fb00b415aeb001  guix-build-a0e2a3133a19/output/x86_64-w64-mingw32/bitcoin-a0e2a3133a19-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 a0e2a31

@fanquake fanquake merged commit 7cc1860 into bitcoin:master May 5, 2022
@hebasto hebasto deleted the 220314-conf branch May 5, 2022 14:27
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request May 5, 2022
…p tools

a0e2a31 build: Drop redundant checks for ranlib and strip tools (Hennadii Stepanov)

Pull request description:

  These checks are handled by the `LT_INIT` macro.

  Inspired by bitcoin-core/secp256k1#1088.

  On master (f3e0ace):
  ```
  $ ./configure --with-incompatible-bdb 2>&1 | grep -n -E 'ranlib\.\.\.|strip\.\.\.'
  56:checking for strip... strip
  57:checking for ranlib... ranlib
  102:checking for ranlib... /usr/bin/ranlib
  103:checking for strip... /usr/bin/strip
  380:checking for strip... strip
  381:checking for ranlib... ranlib
  ```
  With this PR:
  ```
  $ ./configure --with-incompatible-bdb 2>&1 | grep -n -E 'ranlib\.\.\.|strip\.\.\.'
  56:checking for strip... strip
  57:checking for ranlib... ranlib
  377:checking for strip... strip
  378:checking for ranlib... ranlib
  $ CONFIG_SITE=$PWD/depends/x86_64-apple-darwin/share/config.site ./configure 2>&1 | grep -n -E 'ranlib\.\.\.|strip\.\.\.'
  8:checking for x86_64-apple-darwin-strip... /home/hebasto/GitHub/bitcoin/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-strip
  61:checking for x86_64-apple-darwin-strip... (cached) /home/hebasto/GitHub/bitcoin/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-strip
  62:checking for x86_64-apple-darwin-ranlib... /home/hebasto/GitHub/bitcoin/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-ranlib
  188:checking whether the linker accepts -Wl,-dead_strip... yes
  367:checking for x86_64-apple-darwin-strip... /home/hebasto/GitHub/bitcoin/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-strip
  411:checking for x86_64-apple-darwin-strip... (cached) /home/hebasto/GitHub/bitcoin/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-strip
  412:checking for x86_64-apple-darwin-ranlib... /home/hebasto/GitHub/bitcoin/depends/x86_64-apple-darwin/native/bin/x86_64-apple-darwin-ranlib
  ```

  #### Guix builds on `x86_64`:
  ```
  ...
  ```

ACKs for top commit:
  real-or-random:
    ACK a0e2a31
  fanquake:
    ACK a0e2a31

Tree-SHA512: 17e2f54a3fc0447d7a27592d4c803538b6e0dfe02eab9a234084d71f3d9244c2488d56301f6c57050592e0d760c2d48b2b7d365454754af2ce098e77c05d33cc
@bitcoin bitcoin locked and limited conversation to collaborators May 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants