[MacPorts] #62757: py38-gnureadline @8.0.0: error: $MACOSX_DEPLOYMENT_TARGET mismatch: now "11.0" but "11.2" during configure (was: Failed to build py38-gnureadline)
MacPorts
noreply at macports.org
Mon Apr 26 19:32:56 UTC 2021
#62757: py38-gnureadline @8.0.0: error: $MACOSX_DEPLOYMENT_TARGET mismatch: now
"11.0" but "11.2" during configure
-----------------------------+----------------------
Reporter: swaban | Owner: stromnov
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.6.99
Resolution: | Keywords:
Port: py-gnureadline |
-----------------------------+----------------------
Changes (by ryandesign):
* status: new => assigned
* cc: jmroot (added)
* port: => py-gnureadline
* owner: (none) => stromnov
Comment:
The log says:
{{{
error: $MACOSX_DEPLOYMENT_TARGET mismatch: now "11.0" but "11.2" during
configure
}}}
We've seen this type of mismatch message before. It seems to be a sanity
check somewhere in the python module build system. The check is probably a
bit overzealous now that Apple has changed the version numbering scheme of
macOS and its SDKs as of version 11. Any 11.x deployment target should
probably be fine but I guess python doesn't know that yet.
The problem is probably that you now use MacPorts 2.6.99 which has a
corrected understanding of macOS 11+ version numbering and therefore sets
the deployment target to 11.0 on macOS 11.x, whereas you probably used
MacPorts 2.6.4 when you installed python38 (or you received a binary of
python38 which was built on our build servers which use MacPorts 2.6.4)
which still used pre-macOS 11 version numbering for SDKs and therefore set
the deployment target to 11.2 on macOS 11.2.x. The "during configure" part
of the error message likely refers to configure time of the python38 port.
The developers of python should probably relax their deployment target
checking for macOS 11 and later to only check the first number (11), not
the first two numbers (11.0, 11.2). I haven't checked whether they've
already done so in their latest code. If they haven't, and if a bug report
does not already exist in their issue tracker about it, someone should
file one.
Until this problem is fixed, a simple workaround is to rebuild python38
from source on your system using `sudo port -ns upgrade --force python38`.
Since that will be built with MacPorts 2.6.99, it will be built with
deployment target 11.0, which will match how you're building
py38-gnureadline now. If you upgrade python38 to a new version in the
future, and it was built on our build server by MacPorts 2.6.4, that will
reintroduce the problem and you'll have to rebuild it from source again.
--
Ticket URL: <https://trac.macports.org/ticket/62757#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list