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.

classification
Title: os.fwalk is not exposed on macOS
Type: behavior Stage: resolved
Components: Library (Lib) Versions:
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: erlendaasland, ned.deily, ntninja, ronaldoussoren
Priority: normal Keywords:

Created on 2021-04-10 13:08 by ntninja, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (2)
msg390710 - (view) Author: (ntninja) * Date: 2021-04-10 13:08
Is has come to my attention that the `os.fwalk` function has been missing from the standard library on Python for macOS since 3.6, even though macOS should support the necessary OS-interfaces (as specified in POSIX.1-2008) to support that function it just doesn't appear to exist.

Due to lack of the required hardware I can unfortunately not even test this myself.
msg390741 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2021-04-10 21:00
Thank you for the report. The issue is that the necessary operating system support for opening with a file descriptor, openat, was only first implemented in macOS 10.10 (see man 2 openat) and, up until recently, all python.org macOS binaries were built on 10.9 (or earlier) systems for compatibility across multiple operating system versions. As of Python 3.9.1, we now support "weak-linking", that is, building on newer systems but still able to run on older systems. The python.org macOS universal2 installer variant, introduced in 3.9.1, does support os.fwalk() on macOS 10.10+. (The legacy 10.9 Intel-64 only variant is still built on 10.9 but will be phased out by the release of Python 3.10.)  If you build recent Python versions from source with a deployment target of 10.10 or later, you should also find a working os.fwalk().
History
Date User Action Args
2022-04-11 14:59:44adminsetgithub: 87966
2021-04-10 21:00:23ned.deilysetstatus: open -> closed
resolution: not a bug
messages: + msg390741

stage: resolved
2021-04-10 20:23:54erlendaaslandsetnosy: + erlendaasland
2021-04-10 13:10:20serhiy.storchakasetnosy: + ronaldoussoren, ned.deily
2021-04-10 13:08:28ntninjacreate