-
Notifications
You must be signed in to change notification settings - Fork 135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not buildable with macOS <= 10.9 #648
Comments
macOS <= 10.9 lacks these functions, so use weak symbols for them. Fixes #648.
Thanks for the report! Rustix should fix these; I've submitted #649 with a fix. |
Thanks for looking into this! For what it's worth, I don't know if those three functions are the only ones that aren't available, or if maybe there's some linker magic where there are other potentially problematic symbols but they're not causing errors because they're not used in that particular program. Also, out of curiosity, what would be the behavior for a build on 10.9 with the weak symbols — failure at runtime? |
I don't have a macos 10.9 or earlier machine myself, but I have now added I've now modified the PR to fall back to |
* Make `linkat`, `unlinkat`, and `renameat` weak on macos. macOS <= 10.9 lacks these functions, so use weak symbols for them. Fixes #648. * Handle the `AT_FDCWD` cases with fallbacks. * Test with macOS 10.7. Set MACOSX_DEPLOYMENT_TARGET and MACOSX_SDK_VERSION to 10.7, currently the oldest version supported by Rust itself. * Add support for `faccessat` too. * Add some tests for `faccessat`. * Add more tests.
This is now fixed in rustix 0.37.19. |
Thanks! |
It seems that Rustix isn't buildable against versions of the macOS SDK <= 10.9, which don't provide some of the
*at
filesystem calls:This is from a conda-forge build of Tectonic. During package builds, conda-forge sets the
MACOSX_SDK_VERSION
andMACOSX_DEPLOYMENT_TARGET
environment variables to 10.9 in an effort to produce binaries that are widely portable.This is an old OS version, of course, and if there isn't any interest in attaining/maintaining compatibility with it, I'll understand. But I thought I'd flag the issue so it's at least documented.
The text was updated successfully, but these errors were encountered: