- Python Home
- About
- News
- Documentation
- Downloads
- Community
- Foundation
- Developer's Guide
- Issue Tracker
- Issues
- Summaries
- User
- Administration
- Help
Issue31601
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.
Created on 2017-09-27 06:23 by jmr, last changed 2022-04-11 14:58 by admin. This issue is now closed.
| Messages (7) | |||
|---|---|---|---|
| msg303098 - (view) | Author: Joshua Root (jmr) * | Date: 2017-09-27 06:23 | |
The futimens and utimensat functions are available in High Sierra but not previous versions of macOS. Building against the 10.13 SDK and deploying to an earlier version will result in a crash when the dynamic linker can't find the symbols at runtime. Availability of the symbols needs to be checked at runtime before use. This was originally reported in <https://trac.macports.org/ticket/54893>. |
|||
| msg303386 - (view) | Author: Ronald Oussoren (ronaldoussoren) * ![]() |
Date: 2017-09-30 02:06 | |
This is true for other symbols as well, when deploying to older releases of macOS. I have added runtime checking for a number of symbols in the past, that could be extended to newer APIs. -- On the road, hence brief. Op 30 sep. 2017 om 09:17 heeft Terry J. Reedy <report@bugs.python.org> het volgende geschreven: > > Change by Terry J. Reedy <tjreedy@udel.edu>: > > > ---------- > components: +macOS > nosy: +ned.deily, ronaldoussoren > title: Availability of utimensat and futimens not checked correctly on macOS -> Availability of utimensat,futimens not checked correctly on macOS > > _______________________________________ > Python tracker <report@bugs.python.org> > <https://bugs.python.org/issue31601> > _______________________________________ |
|||
| msg330010 - (view) | Author: Joshua Root (jmr) * | Date: 2018-11-16 19:06 | |
This isn't just a cross-build issue, or rather (depending on how you look at it) cross-builds are increasingly the norm due to Apple only providing a newer SDK on older OS versions. For example the latest version of Xcode available for 10.12 only comes with the 10.13 SDK. |
|||
| msg330122 - (view) | Author: Peter Petrik (Peter Petrik2) | Date: 2018-11-20 07:34 | |
This issue blocks QGIS distribution on MacOS for 10.11 and 10.12 releases, https://github.com/lutraconsulting/qgis-mac-packager/issues/22 I would like to know how much work is involved to fix the issue, possible whether there is a plan to fix it. Also we would appreciate quote & timeline for fix to info@lutraconsulting.co.uk, so we can consider to sponsor this fix. Thanks |
|||
| msg349515 - (view) | Author: Gregory Szorc (indygreg) * | Date: 2019-08-13 03:52 | |
I ran into this with PyOxidizer. CPython's `configure` needs to be made aware of the current macOS SDK version and filter out symbols not present in the target macOS version. I worked around it by `undef`'ing some entries from the generated `pyconfig.h` file. macOS's clang does emit some warnings when it sees symbols that shouldn't be used with the current target version. CPython's build system should consider adding -Werror=unguarded-availability-new to CFLAGS to turn these warnings into errors so they are caught at compile time and not run time. But there should be proper filtering of affected symbols first, otherwise people won't be able to build CPython when targeting older macOS versions. |
|||
| msg349537 - (view) | Author: Ronald Oussoren (ronaldoussoren) * ![]() |
Date: 2019-08-13 09:42 | |
I'd prefer a solution that uses symbols where the are available (weak linking). That way users on newer systems can use all functionality available there, without having multiple binaries. I've done this in the past for older macOS versions, but don't know how involved such patches would be for current versions of CPython. |
|||
| msg382722 - (view) | Author: Joshua Root (jmr) * | Date: 2020-12-08 10:25 | |
Looks like this is fixed as of 3.9.1. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:58:52 | admin | set | github: 75782 |
| 2020-12-08 10:25:06 | jmr | set | status: open -> closed resolution: fixed messages: + msg382722 stage: resolved |
| 2019-08-13 09:42:12 | ronaldoussoren | set | messages: + msg349537 |
| 2019-08-13 03:52:12 | indygreg | set | nosy:
+ indygreg messages: + msg349515 |
| 2018-11-20 07:34:55 | Peter Petrik2 | set | nosy:
+ Peter Petrik2 messages: + msg330122 |
| 2018-11-16 19:06:01 | jmr | set | messages: + msg330010 |
| 2018-11-16 08:07:25 | Peter Petrik | set | nosy:
+ Peter Petrik, Alex.Willmer components: + Cross-Build, - Build, macOS versions: + Python 3.7 |
| 2017-09-30 02:06:52 | ronaldoussoren | set | messages:
+ msg303386 title: Availability of utimensat,futimens not checked correctly on macOS -> Availability of utimensat, futimens not checked correctly on macOS |
| 2017-09-30 00:17:18 | terry.reedy | set | nosy:
+ ronaldoussoren, ned.deily components: + macOS title: Availability of utimensat and futimens not checked correctly on macOS -> Availability of utimensat,futimens not checked correctly on macOS |
| 2017-09-27 06:23:40 | jmr | create | |


