This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Zorg
Recipients Zorg, ned.deily, ronaldoussoren
Date 2018-09-06.14:59:08
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1536245948.33.0.56676864532.issue34597@psf.upfronthosting.co.za>
In-reply-to
Content
If one wants to compile Python and embed it in their applications, or more generally, deploy the framework / libraries to older systems, then Python needs to check the existence of functions at runtime that are unavailable to Python's supported minimum OS.

For example, Python makes use of:
clock_gettime
getentropy

These functions are only available on macOS 10.12. Python currently states it supports 10.9. Checking for their existence at compile time isn't good enough; compiling Python on 10.13 and deploying back to 10.9 or 10.11 for example will not work, and cause a crash at runtime. One can make sure the functions are weakly linked and check they aren't NULL to get around this.

There may be more such functions Python is using; I haven't extensively searched for all usages.

Alternatively, Python could state that it does not properly support embedding (probably not desirable), or Python could bump the minimum supported OS requirements in its documentation.

Else one might be able to compile Python by turning off such features? But the user needs to know what those are, Python gives no warnings when MACOSX_DEPLOYMENT_TARGET/--mmacosx-version-min are low enough, and Python wouldn't be able to use those functions when they are actually available on newer systems.
History
Date User Action Args
2018-09-06 14:59:08Zorgsetrecipients: + Zorg, ronaldoussoren, ned.deily
2018-09-06 14:59:08Zorgsetmessageid: <1536245948.33.0.56676864532.issue34597@psf.upfronthosting.co.za>
2018-09-06 14:59:08Zorglinkissue34597 messages
2018-09-06 14:59:08Zorgcreate
Morty Proxy This is a proxified and sanitized view of the page, visit original site.