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

issue hebasto opened 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):

    % cmake -B build -DBUILD_GUI=ON
    % cmake --build build -j 10
    % cmake --build build -t deploy
    % unzip build/bitcoin-macos-app.zip -d build/deploy
    % codesign --verify build/deploy/Bitcoin-Qt.app
    build/deploy/Bitcoin-Qt.app: bundle format unrecognized, invalid, or unsuitable
    In subcomponent: /Users/hebasto/git/bitcoin/build/deploy/Bitcoin-Qt.app/Contents/Frameworks/QtDBus.framework
    
    % brew info qt | head -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:

    CoreWaffleVarnishing.framework/
      CoreWaffleVarnishing -> Versions/Current/CoreWaffleVarnishing
      Resources -> Versions/Current/Resources
      Versions/
        Current -> A
        A/
          CoreWaffleVarnishing
          Resources/
            Info.plist
            … 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:

    % build/Bitcoin-Qt\ 2.app/Contents/MacOS/Bitcoin-Qt
    qt.qpa.plugin: Could not find the Qt platform plugin "cocoa" in ""
    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    zsh: 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

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-21 18:12 UTC

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