build: respect CMAKE_INSTALL_LIBEXECDIR in bitcoin launcher #35789

pull Bortlesboat wants to merge 2 commits into bitcoin:master from Bortlesboat:fix-launcher-libexecdir changing 4 files +44 −2
  1. Bortlesboat commented at 4:30 AM on July 24, 2026: contributor

    This updates the bitcoin launcher to use the configured CMAKE_INSTALL_LIBEXECDIR when resolving internal executables from an installed bin/ layout.

    The issue report showed distro builds that install internal binaries into lib/ instead of libexec/, which currently breaks commands like bitcoin -m node and bitcoin chainstate after installation. The wrapper already receives the configured install destination in CMake, so this threads the same value into bitcoin-build-config.h and uses it in the installed-wrapper lookup path.

    The functional test coverage adds an installed-layout regression to tool_bitcoin.py by copying bitcoin into a temporary bin/ directory, placing test_bitcoin only in the configured internal install directory, and verifying that invoking the wrapper by explicit path succeeds. That keeps the test from falling back to $PATH while exercising the same installed-layout logic as the bug report.

    Tested:

    • cmake -S . -B build-wsl-libdir -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_LIBEXECDIR=lib -DBUILD_GUI=OFF -DENABLE_WALLET=OFF -DBUILD_BENCH=OFF -DBUILD_TX=OFF -DBUILD_UTIL=OFF -DBUILD_UTIL_CHAINSTATE=OFF -DBUILD_CLI=OFF -DBUILD_TESTS=ON -DBUILD_DAEMON=ON -DENABLE_IPC=OFF
    • cmake --build build-wsl-libdir --target bitcoin bitcoind test_bitcoin -j4
    • python3 build-wsl-libdir/test/functional/tool_bitcoin.py --configfile build-wsl-libdir/test/config.ini

    refs #35785

  2. build: respect CMAKE_INSTALL_LIBEXECDIR in bitcoin launcher
    Thread the configured internal executable install directory into the bitcoin wrapper instead of hardcoding libexec, and add a functional regression test that exercises an installed bin/lib layout.
    
    refs #35785
    a4eed6a41f
  3. DrahtBot added the label Build system on Jul 24, 2026
  4. DrahtBot commented at 4:31 AM on July 24, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35789.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process. A summary of reviews will appear here.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #32387 (ipc: add windows support by ryanofsky)

    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.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  5. DrahtBot added the label CI failed on Jul 24, 2026
  6. test: tolerate pre-existing installed wrapper dirs
    The installed-layout regression in tool_bitcoin.py creates a wrapper directory under the node datadir. Sanitizer jobs can encounter that path already existing, so make the setup idempotent with exist_ok=True.\n\nThis keeps the regression focused on launcher path resolution instead of failing on directory creation.\n\nrefs #35785
    6050fd58f3
  7. DrahtBot removed the label CI failed on Jul 24, 2026
  8. Bortlesboat marked this as ready for review on Jul 24, 2026
  9. sedited commented at 3:37 PM on July 24, 2026: contributor

    @Bortlesboat please don't submit pull requests whose description is clearly written by AI. The test instructions are not just redundant, a reviewer should know how to run the functional tests anyway, but they also don't exercise the new behaviour you have introduced here. Closing this again.

  10. sedited closed this on Jul 24, 2026


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-07-27 08:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me