build, qt: Native Qt builds in depends do not work #21588

issue hebasto openend this issue on April 3, 2021
  1. hebasto commented at 11:22 pm on April 3, 2021: member

    macOS

    When doing % make -C depends qt_configured the native build is expected:

    0Configure summary:
    1
    2Build type: macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3 sse4.1)
    3Compiler: clang (Apple) 12.0.0
    4Configuration: sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl f16c largefile precompile_header rdrnd shani silent x86SimdAlways release c++11 c++14 c++1z reduce_exports static stl
    5Build options:
    6  Mode ................................... release
    7...
    

    Actually, a cross-compile build is configured:

    0Configure summary:
    1
    2Building on: macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3 sse4.1)
    3Building for: macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3 sse4.1)
    4Target compiler: clang (Apple) 12.0.0
    5Configuration: cross_compile sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl f16c largefile precompile_header rdrnd shani silent x86SimdAlways release c++11 c++14 c++1z reduce_exports static stl
    6Build options:
    7  Mode ................................... release
    8...
    

    The reason for this behavior is the line which was added in #21376: https://github.com/bitcoin/bitcoin/blob/e08f3193b543017702d000c2263bccbefa981c14/depends/packages/qt.mk#L116 as the -device-option is a cross-compile option, and it triggers cross-compiling.

    It is worth to mention that before #21376 native builds with depends on macOS were broken (#14648, #19785).

    Linux x86

    Again, no native build when it is expected:

     0$ make -C depends qt_configured
     1...
     2Configure summary:
     3
     4Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
     5Building for: linux-g++-64 (x86_64, CPU features: mmx sse sse2)
     6Target compiler: gcc 9.3.0
     7Configuration: cross_compile sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl enable_new_dtags f16c largefile precompile_header rdrnd shani silent x86SimdAlways release c++11 c++14 c++1z dbus reduce_exports static stl
     8Build options:
     9  Mode ................................... release
    10...
    

    The reason for this behavior is the line which was added in #12971: https://github.com/bitcoin/bitcoin/blob/e08f3193b543017702d000c2263bccbefa981c14/depends/packages/qt.mk#L141 with a comment:

    This should fix the gitian build issue

    ARM

    Just broken.

  2. hebasto added the label Bug on Apr 3, 2021
  3. hebasto added the label Build system on Apr 3, 2021
  4. jarolrod commented at 3:31 am on April 4, 2021: member
    Confirming that cross-compile is attempted when trying to build natively using depends on macOS 11.2.3 and 10.15.7. I think this is why dark mode does not work when built from depends on 10.15.7.
  5. jarolrod commented at 4:32 pm on April 12, 2021: member

    Confirming cross-compile is attempted on linux as well (Ubuntu):

    0Configure summary:
    1
    2Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
    3Building for: linux-g++-64 (x86_64, CPU features: mmx sse sse2)
    4Target compiler: gcc 9.3.0
    
  6. fanquake closed this on Jul 18, 2021

  7. sidhujag referenced this in commit 4a59fda74b on Jul 23, 2021
  8. DrahtBot locked this on Aug 18, 2022

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-07-05 19:13 UTC

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