-
Notifications
You must be signed in to change notification settings - Fork 13k
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
1.49 seems to have bumped required macOS version #80804
Comments
Is there a way to tell if we're compiling on MacOS 10.9 or lower and special case it if so? |
I think the |
@jyn514 In the interest of generating portable binaries, one could make the argument for not using the API even if one is compiling on a newer macOS. For precompiled stdlib in particular, I'd guess that somewhere there's a specification for the minimum supported OS version? |
We can't really compile on old macos feasibly in CI, but it should be fairly straightforward to use linkat via the weak macro (which performs runtime detection of availability). I think we'll likely want to land using weak on nightly for testing, and then follow up with a beta backport. We can consider a stable backport as well, since this seems like a major problem for (all?) users targeting older macs. |
Assigning |
@sunfishcode would you be up for filing a PR to fix this? |
Still broken in 1.51. Does this mean that support for older systems has been discontinued after all? According to this commit a OS X <10.10 detection should also be added, but |
I have a draft for this. I'm getting some comments on Zulip before I open a PR. @rustbot claim |
We're merging #85953 to fix this issue for the time being. We also plan to start the conversation about when to drop support for older versions of macOS. But for now, this should restore support for older macOS. |
Thanks! Should we expect this fix to appear in 1.54, or will it take longer than that to make it to stable? |
It will definitely be in 1.55. It will only be in 1.54 if the libs team decides to backport it to beta. I personally think that might be a good idea, but I'm not on the team, I just happened to be the one who who wrote the fix PR. |
…s-hardlink, r=joshtriplett Fix linker error Currently, `fs::hard_link` determines whether platforms have `linkat` based on the OS, and uses `link` if they don't. However, this heuristic does not work well if a platform provides `linkat` on newer versions but not on older ones. On old MacOS, this currently causes a linking error. This commit fixes `fs::hard_link` by telling it to use `weak!` on macOS This means that, on that operating system, we now check for `linkat` at runtime and use `link` if it is not available. Fixes rust-lang#80804. `@rustbot` label T-libs-impl
…s-hardlink, r=joshtriplett Fix linker error Currently, `fs::hard_link` determines whether platforms have `linkat` based on the OS, and uses `link` if they don't. However, this heuristic does not work well if a platform provides `linkat` on newer versions but not on older ones. On old MacOS, this currently causes a linking error. This commit fixes `fs::hard_link` by telling it to use `weak!` on macOS This means that, on that operating system, we now check for `linkat` at runtime and use `link` if it is not available. Fixes rust-lang#80804. ``@rustbot`` label T-libs-impl
…hardlink, r=joshtriplett Fix linker error Currently, `fs::hard_link` determines whether platforms have `linkat` based on the OS, and uses `link` if they don't. However, this heuristic does not work well if a platform provides `linkat` on newer versions but not on older ones. On old MacOS, this currently causes a linking error. This commit fixes `fs::hard_link` by telling it to use `weak!` on macOS. This means that, on that operating system, we now check for `linkat` at runtime and use `link` if it is not available. Fixes rust-lang#80804. `@rustbot` label T-libs-impl
@pkgw Quick update: unfortunately, this won't hit stable till 1.55. |
@inquisitivecrystal Thanks, that's good to know! |
After the release at 1.49, we at conda-forge are seeing some new build failures on macOS builds due to a missing
_linkat
symbol:linkat
is only availabe starting in macOS 10.10, while on conda-forge our targeted minimum version is 10.9. It looks like this may have been introduced unintentionally in #78026.I'm filing this as a regression because I don't see any documentation of a bump in the minimum macOS version for 1.49.
CC @isuruf @bollwyvl conda-forge/rust-feedstock#73.
The text was updated successfully, but these errors were encountered: