macOS: Bundle format unrecognized, invalid, or unsuitable #34744

issue hebasto openend this issue on March 5, 2026
  1. hebasto commented at 2:34 pm on March 5, 2026: member

    The master branch (@ 7e91060ec7736f86e65e77996a2312a8e80d3f09) on macOS Tahoe 26.2 (Apple M1):

    0% cmake -B build -DBUILD_GUI=ON
    1% cmake --build build -j 10
    2% cmake --build build -t deploy
    3% unzip build/bitcoin-macos-app.zip -d build/deploy
    4% codesign --verify build/deploy/Bitcoin-Qt.app
    5build/deploy/Bitcoin-Qt.app: bundle format unrecognized, invalid, or unsuitable
    6In subcomponent: /Users/hebasto/git/bitcoin/build/deploy/Bitcoin-Qt.app/Contents/Frameworks/QtDBus.framework
    
    0% brew info qt | head -1
    1==> qt: stable 6.10.2 (bottled)
    
  2. pinheadmz commented at 2:36 pm on March 5, 2026: member
    Which version of Bitcoin?
  3. fanquake commented at 2:37 pm on March 5, 2026: member
    What are the steps to reproduce? What version of the code? What version of Qt in brew (if used)?
  4. hebasto commented at 2:54 pm on March 5, 2026: member
    The issue has been updated with more details.
  5. pinheadmz commented at 3:01 pm on March 5, 2026: member
    Does the cmake macOS deploy target do code signing? Like. What’s codesign –verify expected to do before a signed release?
  6. hebasto commented at 3:08 pm on March 5, 2026: member
  7. hebasto commented at 3:49 pm on March 5, 2026: member
  8. fanquake commented at 3:58 pm on March 5, 2026: member

    where symlinks are not preserved.

    Should they be? Isn’t macdeployqtplus meant to create a standalone tarball (which is why the libraries are copied into the bundle in the first place). If not, then why copy the dylibs at all?

  9. hebasto commented at 4:10 pm on March 5, 2026: member

    where symlinks are not preserved.

    Should they be? Isn’t macdeployqtplus meant to create a standalone tarball (which is why the libraries are copied into the bundle in the first place). If not, then why copy the dylibs at all?

    Quoting from Placing content in a bundle:

    The final structure looks like this:

    0CoreWaffleVarnishing.framework/
    1  CoreWaffleVarnishing -> Versions/Current/CoreWaffleVarnishing
    2  Resources -> Versions/Current/Resources
    3  Versions/
    4    Current -> A
    5    A/
    6      CoreWaffleVarnishing
    7      Resources/
    8        Info.plist
    9        … other resources …
    
  10. fanquake added the label macOS on Mar 6, 2026
  11. fanquake commented at 12:11 pm on March 10, 2026: member
    Ok. So if this is broken, should it be on the v31 milestone? Looks like it might have been broken for a while, so maybe not? Opened #34787 to check the CI. Any fix here should likely add a similar test, to prevent silent breakage.
  12. fanquake added this to the milestone 31.0 on Mar 10, 2026
  13. fanquake commented at 5:33 pm on March 10, 2026: member
    Now a (mostly untested) fix for this in #34787.
  14. Sjors commented at 3:21 pm on March 11, 2026: member

    Looks like it might have been broken for a while, so maybe not?

    When building locally on macOS 26.3.1 (M4) and opening the build folder in Finder, Bitcoin-Qt.app works but bitcoin-macos-app.zip doesn’t. I’ve noticed that before, but I assumed the latter was only supposed to work in guix builds.

    Starting from the terminal also fails:

    0% build/Bitcoin-Qt\ 2.app/Contents/MacOS/Bitcoin-Qt
    1qt.qpa.plugin: Could not find the Qt platform plugin "cocoa" in ""
    2This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    3
    4zsh: abort      build/Bitcoin-Qt\ 2.app/Contents/MacOS/Bitcoin-Qt
    

    I can also reproduce the “bundle format unrecognized” with the steps in the PR description. Will test the fix.

  15. sedited closed this on Mar 13, 2026

  16. pull[bot] referenced this in commit 390e7d61bd on Mar 13, 2026


hebasto pinheadmz fanquake Sjors

Labels
macOS

Milestone
31.0


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-04-01 09:13 UTC

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