depends: check required host tools before Qt downloads #35631

pull vicjuma wants to merge 1 commits into bitcoin:master from vicjuma:depends-check-gui-host-tools changing 1 files +23 −2
  1. vicjuma commented at 1:09 PM on July 1, 2026: none

    Motivation

    When NO_QT is not set, the depends build requires several host tools for building the Qt dependencies. If one of these tools (for example, pkg-config or bison) is missing, the build only reports the error after the Qt dependency download process has already begun.

    This change performs an early check for the required host tools before downloading Qt dependencies, allowing the build to fail immediately with a clear error message instead of failing later in the build process.

    This change follows the depends build instructions, which document additional host tool requirements when NO_QT is not set (see depends/README.md). The checks are implemented only for the operating systems where these requirements are explicitly documented: Linux (Ubuntu/Debian and Alpine) and FreeBSD. The documentation does not currently specify equivalent requirements for the remaining supported operating systems.

    Testing

    • Built depends with all required host tools installed.
    • Verified that removing pkgconf causes the new early check to fail with the expected error:
    Error: bison host package is required to build Qt dependencies. Pass NO_QT=1 option to make if you wish to skip Qt.
    make: *** [Makefile:258: check-host-tools] Error 1
    
    • Verified that removing bison causes the new early check to fail with the expected error:
    Error: bison host package is required to build Qt dependencies. Pass NO_QT=1 option to make if you wish to skip Qt.
    make: *** [Makefile:258: check-host-tools] Error 1
    
    • Verified that make NO_QT=1 skips the host tool check.
  2. depends: check required host tools before Qt downloads
    When NO_QT is not set, building depends requires certain host tools,
    such as pkg-config and bison, for the Qt dependency build.
    
    Check for these tools before downloading Qt dependencies so the build
    fails immediately with a clear error rather than waiting until the Qt
    download step to report the missing host tools.
    3e2a94185d
  3. DrahtBot added the label Build system on Jul 1, 2026
  4. DrahtBot commented at 1:09 PM on July 1, 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/35631.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

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

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  5. maflcko commented at 2:00 PM on July 1, 2026: member

    No. It should be possible to download without having to install build tools, because download can happen on a different machine/context than building.

  6. vicjuma commented at 2:21 PM on July 1, 2026: none

    No. It should be possible to download without having to install build tools, because download can happen on a different machine/context than building.

    Looking at the dependency graph though, check-host-tools is only wired as a prerequisite of install. make download is not affected in any way. If there's a specific path you're seeing where download does end up depending on it (maybe through a target I'm missing), let me know, and I'll fix it


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-04 04:50 UTC

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