Uploaded image for project: 'Erlang/OTP'
  1. Erlang/OTP
  2. ERL-1407

Build failure on macOS 11, wrong computation of int_macosx_version

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 23.0
    • Fix Version/s: 23.2
    • Component/s: compiler
    • Labels:
      None

      Description

      erlang 23.0 doesn't build on macOS 11.0.1. This was originally reported to MacPorts.

      The error is:

      You are natively building Erlang/OTP for a later version of MacOSX than current version (11.0.1). You either need to cross-build Erlang/OTP, or set the environment variable MACOSX_DEPLOYMENT_TARGET to 11.0.1 (or a lower version).
      

      This is a lie. Your configure script is making an incorrect determination.

      Your configure script is trying to check a computed value int_macosx_version against _ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED_. That preprocessor define will be a 4-digit number on OS X 10.9 and earlier, for example 1090 representing OS X 10.9 or 1050 representing Mac OS X 10.5, or a 6-digit number on OS X 10.10 and later, for example 101200 on macOS 10.12 or 110000 on macOS 11.0.

      You are computing int_macosx_version incorrectly, doing it purely based on the pattern of digits in the version number. For macOS 11.0.1, you are computing the value 1101 when you should be computing the value 110001.

      You committed an incorrect partial fix that may appear to fix the problem on macOS 11.0 but does not fix the problem on macOS 11.0.x and furthermore will give the wrong result on Mac OS X 10.y (where y is a single digit).

        Attachments

          Activity

            People

            Assignee:
            bjorn Björn Gustavsson
            Reporter:
            ryandesign Ryan Schmidt
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: