Deployed on macOS 11 app fails to run on macOS 10.14.6 #22963

issue hebasto openend this issue on September 13, 2021
  1. hebasto commented at 4:54 pm on September 13, 2021: member

    Steps to reproduce on master (7ecb309c4ed1bb9ae6b9a12cbb4f083328edc125):

    1. On macOS 11 make deploy
    2. Copy the resulted Bitcoin-Core.dmg to a macOS 10.14.6 system
    3. Install it
    4. Run it: Screenshot from 2021-09-13 19-29-06
  2. hebasto added the label Bug on Sep 13, 2021
  3. hebasto added the label macOS on Sep 13, 2021
  4. ghost commented at 5:13 pm on September 13, 2021: none

    Weird error message:

    “You have macOS 10.14.6. The application requires macOS 10.14 or later”

    Error should have 11 instead of 10.14 because 10.14.6 is obviously higher than 10.14

    Is there any option in make deploy command to set the deployment target?

  5. jarolrod commented at 5:34 pm on September 13, 2021: member

    If you natively compile on macOS 12; at the configure stage, our build os is set to darwin21.1.0. Then we build and deploy. Is this executable expected to run on darwin18?

    What you should do is run a depends build with a darwin18 target and that executable is usable.

    The wording here is obviously wrong, but our info.plist is static and we don’t fill in values automatically with Xcode. If this were an Xcode project and Xcode is filling in the info.plist automatically, then the error message would probably read “You have macOS 10.14.6. The application requires macOS 11 or later.”

  6. jarolrod commented at 6:14 pm on September 13, 2021: member

    If you run objdump -all-headers on the built executable after natively compiling on master, I see:

    0platform macos
    1       sdk 11.3
    2     minos 11.3
    

    Running the same command on the dmg from a depends build, you will see:

    0platform macos
    1       sdk 11.3
    2     minos 10.14
    

    When running a depends build, we actually specify the min macos version

  7. fanquake commented at 5:24 am on September 16, 2021: member

    Steps to reproduce on master (7ecb309):

    Confusing error message aside, the most important point is missing here. Was this build done using depends or not?

    I don’t think it’s unexpected that non-depends builds done on newer macOS versions wouldn’t run on older versions. i.e when building macOS 11.x, ld64 is probably setting platform_version with a minimum required OS version of 11.0 or later.

    If you look at the actual Bitcoin-Qt executable in the dmg, the min os is likely 11.0+.

  8. jarolrod commented at 5:27 am on September 16, 2021: member

    @fanquake

    “… Was this build done using depends or not?”

    This was a native compile on macOS, non-depends build done by hebasto

    “If you look at the actual Bitcoin-Qt executable in the dmg, the min os is likely 11.0+.”

    Yep, that’s correct. I pointed that out here. The executable built natively on macOS 11 shouldn’t be expected to run on 10.14

  9. fanquake closed this on Sep 16, 2021

  10. DrahtBot locked this on Oct 30, 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-09-28 22:12 UTC

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