macOS 13.7 depends build can’t find qt #31050

issue Sjors openend this issue on October 7, 2024
  1. Sjors commented at 3:03 pm on October 7, 2024: member

    Is there an existing issue for this?

    • I have searched the existing issues

    Current behaviour

    0cd depends
    1make NO_BDB=1
    2...
    3copying packages: boost libevent qt qrencode sqlite miniupnpc zeromq
    4to: /Volumes/SSD/Dev/bitcoin/depends/x86_64-apple-darwin22.6.0
    5
    6cd ..
    7cmake -B build --toolchain depends/x86_64-apple-darwin22.6.0/toolchain.cmake
    

    This fails, see below

    (building BDB hasn’t work for me for a while, but that’s going away anyway)

    Expected behaviour

    To build

    Steps to reproduce

    .

    Relevant log output

    0xcode-select -p                                                             
    1/Applications/Xcode15.2.app/Contents/Developer
    
     0-- The CXX compiler identification is AppleClang 15.0.0.15000100
     1-- Detecting CXX compiler ABI info
     2-- Detecting CXX compiler ABI info - done
     3-- Check for working CXX compiler: /Applications/Xcode15.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ - skipped
     4-- Detecting CXX compile features
     5-- Detecting CXX compile features - done
     6-- Found SQLite3: /Volumes/SSD/Dev/bitcoin/depends/x86_64-apple-darwin22.6.0/include (found suitable version "3.38.5", minimum required is "3.7.17")
     7-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2")
     8-- Found MiniUPnPc: /Volumes/SSD/Dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/libminiupnpc.a
     9-- Checking for module 'libzmq>=4'
    10--   Found libzmq, version 4.3.5
    11-- Checking for module 'libqrencode'
    12--   Found libqrencode, version 4.1.1
    13-- Could NOT find Qt5Core (missing: Qt5Core_DIR)
    14-- Could NOT find Qt5Gui (missing: Qt5Gui_DIR)
    15-- Could NOT find Qt5Widgets (missing: Qt5Widgets_DIR)
    16-- Could NOT find Qt5LinguistTools (missing: Qt5LinguistTools_DIR)
    17-- Could NOT find Qt5Network (missing: Qt5Network_DIR)
    18-- Could NOT find Qt5Test (missing: Qt5Test_DIR)
    19CMake Error at depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5/Qt5Config.cmake:51 (_qt5_Core_check_file_exists):
    20  Unknown CMake command "_qt5_Core_check_file_exists".
    21Call Stack (most recent call first):
    22  cmake/module/FindQt.cmake:43 (find_package)
    23  CMakeLists.txt:180 (find_package)
    24
    25
    26CMake Warning at cmake/module/FindQt.cmake:43 (find_package):
    27  Found package configuration file:
    28
    29    /Volumes/SSD/Dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5/Qt5Config.cmake
    30
    31  but it set Qt5_FOUND to FALSE so package "Qt5" is considered to be NOT
    32  FOUND.  Reason given by package:
    33
    34  Failed to find Qt5 component "Core" config file at
    35  "/Users/sjors/dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5Core/Qt5CoreConfig.cmake"
    36
    37
    38  Failed to find Qt5 component "Gui" config file at
    39  "/Users/sjors/dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake"
    40
    41
    42  Failed to find Qt5 component "Widgets" config file at
    43  "/Users/sjors/dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake"
    44
    45
    46  Failed to find Qt5 component "LinguistTools" config file at
    47  "/Users/sjors/dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5LinguistTools/Qt5LinguistToolsConfig.cmake"
    48
    49
    50  Failed to find Qt5 component "Network" config file at
    51  "/Users/sjors/dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5Network/Qt5NetworkConfig.cmake"
    52
    53
    54  Failed to find Qt5 component "Test" config file at
    55  "/Users/sjors/dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5Test/Qt5TestConfig.cmake"
    56
    57
    58
    59
    60Call Stack (most recent call first):
    61  CMakeLists.txt:180 (find_package)
    

    How did you obtain Bitcoin Core

    Compiled from source

    What version of Bitcoin Core are you using?

    PR 31048 which builds on master @ 05d25304bc4e0c3058c8ee8a89448ce63ac77304

    Operating system and version

    macOS 13.7

    Machine specifications

    No response

  2. Sjors commented at 3:04 pm on October 7, 2024: member
    Will investigate and provide more details later.
  3. Sjors commented at 7:16 am on October 8, 2024: member

    Here’s my depends/x86_64-apple-darwin22.6.0/toolchain.cmake

      0# Copyright (c) 2023-present The Bitcoin Core developers
      1# Distributed under the MIT software license, see the accompanying
      2# file COPYING or https://opensource.org/license/mit/.
      3
      4# This file is expected to be highly volatile and may still change substantially.
      5
      6# If CMAKE_SYSTEM_NAME is set within a toolchain file, CMake will also
      7# set CMAKE_CROSSCOMPILING to TRUE, even if CMAKE_SYSTEM_NAME matches
      8# CMAKE_HOST_SYSTEM_NAME. To avoid potential misconfiguration of CMake,
      9# it is best not to touch CMAKE_SYSTEM_NAME unless cross-compiling is
     10# intended.
     11if(FALSE)
     12  set(CMAKE_SYSTEM_NAME Darwin)
     13  set(CMAKE_SYSTEM_VERSION 20.1)
     14  set(CMAKE_SYSTEM_PROCESSOR x86_64)
     15endif()
     16
     17if(NOT DEFINED CMAKE_C_FLAGS_INIT)
     18  set(CMAKE_C_FLAGS_INIT "-pipe -std=c11 -mmacos-version-min=12.0 -arch x86_64")
     19endif()
     20if(NOT DEFINED CMAKE_C_FLAGS_RELWITHDEBINFO_INIT)
     21  set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2")
     22endif()
     23if(NOT DEFINED CMAKE_C_FLAGS_DEBUG_INIT)
     24  set(CMAKE_C_FLAGS_DEBUG_INIT "")
     25endif()
     26
     27if(NOT DEFINED CMAKE_C_COMPILER)
     28  set(CMAKE_C_COMPILER /Applications/Xcode15.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -isysroot/Applications/Xcode15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk)
     29endif()
     30
     31if(NOT DEFINED CMAKE_CXX_FLAGS_INIT)
     32  set(CMAKE_CXX_FLAGS_INIT "-pipe -std=c++20 -mmacos-version-min=12.0 -arch x86_64")
     33  set(CMAKE_OBJCXX_FLAGS_INIT "-pipe -std=c++20 -mmacos-version-min=12.0 -arch x86_64")
     34endif()
     35if(NOT DEFINED CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT)
     36  set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2")
     37  set(CMAKE_OBJCXX_FLAGS_RELWITHDEBINFO_INIT "-O2")
     38endif()
     39if(NOT DEFINED CMAKE_CXX_FLAGS_DEBUG_INIT)
     40  set(CMAKE_CXX_FLAGS_DEBUG_INIT "")
     41  set(CMAKE_OBJCXX_FLAGS_DEBUG_INIT "")
     42endif()
     43
     44if(NOT DEFINED CMAKE_CXX_COMPILER)
     45  set(CMAKE_CXX_COMPILER /Applications/Xcode15.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -stdlib=libc++ -isysroot/Applications/Xcode15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk)
     46  set(CMAKE_OBJCXX_COMPILER ${CMAKE_CXX_COMPILER})
     47endif()
     48
     49# The DEPENDS_COMPILE_DEFINITIONS* variables are to be treated as lists.
     50set(DEPENDS_COMPILE_DEFINITIONS )
     51set(DEPENDS_COMPILE_DEFINITIONS_RELWITHDEBINFO )
     52set(DEPENDS_COMPILE_DEFINITIONS_DEBUG )
     53
     54if(NOT DEFINED CMAKE_EXE_LINKER_FLAGS_INIT)
     55  set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,-platform_version,macos,12.0,14.0")
     56endif()
     57if(NOT DEFINED CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT)
     58  set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "")
     59endif()
     60if(NOT DEFINED CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT)
     61  set(CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "")
     62endif()
     63
     64set(CMAKE_AR "/Applications/Xcode15.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar")
     65set(CMAKE_RANLIB "/Applications/Xcode15.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib")
     66set(CMAKE_STRIP "/Applications/Xcode15.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip")
     67set(CMAKE_OBJCOPY "objcopy")
     68set(CMAKE_OBJDUMP "/Applications/Xcode15.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/objdump")
     69
     70# Using our own built dependencies should not be
     71# affected by a potentially random environment.
     72set(CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH OFF)
     73
     74set(CMAKE_FIND_ROOT_PATH "/Volumes/SSD/Dev/bitcoin/depends/x86_64-apple-darwin22.6.0")
     75set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
     76set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
     77set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
     78set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
     79set(QT_TRANSLATIONS_DIR "/Volumes/SSD/Dev/bitcoin/depends/x86_64-apple-darwin22.6.0/translations")
     80
     81if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT CMAKE_HOST_APPLE)
     82  # The find_package(Qt ...) function internally uses find_library()
     83  # calls for all dependencies to ensure their availability.
     84  # In turn, the find_library() inspects the well-known locations
     85  # on the file system; therefore, a hint is required.
     86  set(CMAKE_FRAMEWORK_PATH "/Volumes/SSD/Dev/bitcoin/depends/SDKs/Xcode-15.0-15A240d-extracted-SDK-with-libcxx-headers/System/Library/Frameworks")
     87endif()
     88
     89
     90# Customize pkg-config behaviour.
     91cmake_path(APPEND CMAKE_FIND_ROOT_PATH "lib" "pkgconfig" OUTPUT_VARIABLE pkg_config_path)
     92set(ENV{PKG_CONFIG_PATH} ${pkg_config_path})
     93set(ENV{PKG_CONFIG_LIBDIR} ${pkg_config_path})
     94unset(pkg_config_path)
     95set(PKG_CONFIG_ARGN --static)
     96
     97
     98# Set configuration options for the main build system.
     99set(qt_packages  qt  qrencode)
    100if("${qt_packages}" STREQUAL "")
    101  set(BUILD_GUI OFF CACHE BOOL "")
    102else()
    103  set(BUILD_GUI ON CACHE BOOL "")
    104endif()
    105
    106set(qrencode_packages qrencode)
    107if("${qrencode_packages}" STREQUAL "")
    108  set(WITH_QRENCODE OFF CACHE BOOL "")
    109else()
    110  set(WITH_QRENCODE ON CACHE BOOL "")
    111endif()
    112
    113set(zmq_packages zeromq)
    114if("${zmq_packages}" STREQUAL "")
    115  set(WITH_ZMQ OFF CACHE BOOL "")
    116else()
    117  set(WITH_ZMQ ON CACHE BOOL "")
    118endif()
    119
    120set(wallet_packages  sqlite)
    121if("${wallet_packages}" STREQUAL "")
    122  set(ENABLE_WALLET OFF CACHE BOOL "")
    123else()
    124  set(ENABLE_WALLET ON CACHE BOOL "")
    125endif()
    126
    127set(bdb_packages )
    128if("${wallet_packages}" STREQUAL "" OR "${bdb_packages}" STREQUAL "")
    129  set(WITH_BDB OFF CACHE BOOL "")
    130else()
    131  set(WITH_BDB ON CACHE BOOL "")
    132endif()
    133
    134set(sqlite_packages sqlite)
    135if("${wallet_packages}" STREQUAL "" OR "${sqlite_packages}" STREQUAL "")
    136  set(WITH_SQLITE OFF CACHE BOOL "")
    137else()
    138  set(WITH_SQLITE ON CACHE BOOL "")
    139endif()
    140
    141set(upnp_packages miniupnpc)
    142if("${upnp_packages}" STREQUAL "")
    143  set(WITH_MINIUPNPC OFF CACHE BOOL "")
    144else()
    145  set(WITH_MINIUPNPC ON CACHE BOOL "")
    146endif()
    147
    148set(usdt_packages )
    149if("${usdt_packages}" STREQUAL "")
    150  set(WITH_USDT OFF CACHE BOOL "")
    151else()
    152  set(WITH_USDT ON CACHE BOOL "")
    153endif()
    154
    155if("")
    156  set(ENABLE_HARDENING OFF CACHE BOOL "")
    157else()
    158  set(ENABLE_HARDENING ON CACHE BOOL "")
    159endif()
    160
    161if("" STREQUAL "1")
    162  set(WITH_MULTIPROCESS ON CACHE BOOL "")
    163  set(Libmultiprocess_ROOT "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "")
    164  set(LibmultiprocessNative_ROOT "${CMAKE_CURRENT_LIST_DIR}/native" CACHE PATH "")
    165else()
    166  set(WITH_MULTIPROCESS OFF CACHE BOOL "")
    167endif()
    

    Tried again on master @ 62e4516722115c2d5aeb6c197abc73ca7c078b23 with the same result. Since it takes about an hour to build Qt on that machine it’s a bit difficult to bisect.

    I also still get #30978, in case that’s related.

  4. Sjors commented at 8:18 am on October 8, 2024: member
    Ditto on d71ac768424333b65a6d88c9752cc9c7fdb276f3.
  5. hebasto added the label macOS on Oct 9, 2024
  6. hebasto added the label Build system on Oct 9, 2024
  7. hebasto commented at 11:55 pm on October 9, 2024: member

    Could you please test aba02f0c06fdcf28fe76de4cf00dc73c3aee6208 from this branch?

    I have no access to macOS 13.7 (Intel), so not able to test the patch myself.

  8. Sjors commented at 4:08 pm on October 21, 2024: member

    Tried https://github.com/bitcoin/bitcoin/commit/aba02f0c06fdcf28fe76de4cf00dc73c3aee6208 with make NO_WALLET=1 NO_UPNP=1 NO_ZMQ=1 NO_BDB=1 so save some build time:

     0...
     1copying packages: boost libevent qt qrencode
     2to: /Volumes/SSD/Dev/bitcoin/depends/x86_64-apple-darwin22.6.0
     3To build Bitcoin Core with these packages, pass '--toolchain /Volumes/SSD/Dev/bitcoin/depends/x86_64-apple-darwin22.6.0/toolchain.cmake' to the first CMake invocation.
     4sjors@Sjorss-iMac depends % cd .. 
     5sjors@Sjorss-iMac bitcoin % cmake -B build --toolchain depends/x86_64-apple-darwin22.6.0/toolchain.cmake
     6-- The CXX compiler identification is AppleClang 15.0.0.15000100
     7-- Detecting CXX compiler ABI info
     8-- Detecting CXX compiler ABI info - done
     9-- Check for working CXX compiler: /Applications/Xcode15.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ - skipped
    10-- Detecting CXX compile features
    11-- Detecting CXX compile features - done
    12-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2")
    13-- Checking for module 'libqrencode'
    14--   Found libqrencode, version 4.1.1
    15-- Could NOT find Qt5Core (missing: Qt5Core_DIR)
    16-- Could NOT find Qt5Gui (missing: Qt5Gui_DIR)
    17-- Could NOT find Qt5Widgets (missing: Qt5Widgets_DIR)
    18-- Could NOT find Qt5LinguistTools (missing: Qt5LinguistTools_DIR)
    19-- Could NOT find Qt5Test (missing: Qt5Test_DIR)
    20CMake Error at depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5/Qt5Config.cmake:51 (_qt5_Core_check_file_exists):
    21  Unknown CMake command "_qt5_Core_check_file_exists".
    22Call Stack (most recent call first):
    23  cmake/module/FindQt.cmake:43 (find_package)
    24  CMakeLists.txt:180 (find_package)
    25
    26
    27CMake Warning at cmake/module/FindQt.cmake:43 (find_package):
    28  Found package configuration file:
    29
    30    /Volumes/SSD/Dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5/Qt5Config.cmake
    31
    32  but it set Qt5_FOUND to FALSE so package "Qt5" is considered to be NOT
    33  FOUND.  Reason given by package:
    34
    35  Failed to find Qt5 component "Core" config file at
    36  "/Users/sjors/dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5Core/Qt5CoreConfig.cmake"
    37
    38
    39  Failed to find Qt5 component "Gui" config file at
    40  "/Users/sjors/dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake"
    41
    42
    43  Failed to find Qt5 component "Widgets" config file at
    44  "/Users/sjors/dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake"
    45
    46
    47  Failed to find Qt5 component "LinguistTools" config file at
    48  "/Users/sjors/dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5LinguistTools/Qt5LinguistToolsConfig.cmake"
    49
    50
    51  Failed to find Qt5 component "Test" config file at
    52  "/Users/sjors/dev/bitcoin/depends/x86_64-apple-darwin22.6.0/lib/cmake/Qt5Test/Qt5TestConfig.cmake"
    53
    54
    55
    56
    57Call Stack (most recent call first):
    58  CMakeLists.txt:180 (find_package)
    
  9. maflcko commented at 11:32 am on October 24, 2024: member
    Is /Volumes/SSD/Dev/ and /Users/sjors/dev/ the same path? I don’t know why, but it seems the two are mixed up. My recommendation would be to put the source code and the depends dir on the same path (one of the two) and try again.
  10. Sjors commented at 1:43 pm on October 24, 2024: member
    /Users/sjors/dev is a symlink to /Volumes/SSD/Dev/. I’ll try a build without using a symlink. (will be a few weeks before I can access this machine)
  11. maflcko commented at 4:03 pm on October 24, 2024: member
  12. laanwj commented at 7:18 pm on October 24, 2024: member
    Yep. That’s most likely the root cause.
  13. Sjors commented at 10:05 pm on October 30, 2024: member
    That seems plausible. I’ll keep an eye on that issue. Once that’s resolved and there’s still a macOS specific problem remaining, I’ll reopen.
  14. Sjors closed this on Oct 30, 2024


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: 2024-11-21 09:12 UTC

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