[MacPorts] #71842: legacy-support: include sys/stdio.h from stdio.h
MacPorts
noreply at macports.org
Wed Jan 15 19:18:52 UTC 2025
#71842: legacy-support: include sys/stdio.h from stdio.h
--------------------------+----------------------------
Reporter: barracuda156 | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.10.5
Keywords: | Port: legacy-support
--------------------------+----------------------------
Apple headers from 10.10+ include `sys/stdio.h` from `stdio.h`, which
makes `renameat` available: https://github.com/alexey-lysiuk/macos-
sdk/blob/69ddec41e6224afebd5f19bb24764305ac3e828a/MacOSX10.10.sdk/usr/include/stdio.h#L75
`legacy-support` provides `renameat` in `sys/stdio.h`, however does not
include that header from `stdio.h`: https://github.com/macports/macports-
legacy-
support/blob/f109400eccefe2f735bcd9a068dad7a53407d548/include/stdio.h
Obviously, Apple header does not do that either when `sys/stdio.h` does
not exist in the OS: https://github.com/alexey-lysiuk/macos-
sdk/blob/0efb06490f664d335a4fdff9198df7d03e87deda/MacOSX10.8.sdk/usr/include/stdio.h
(or any other SDK before that header appears).
In result, we get failures when compiling software which expects
`renameat` to be available via `stdio.h` (which should work in fact, as it
seems, but fails with `legacy-support`.
Examples: https://github.com/capnproto/capnproto/pull/2212
https://github.com/leo-arch/clifm/issues/298
--
Ticket URL: <https://trac.macports.org/ticket/71842>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list