-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
No longer works w/o kludges on Mac OS X versions (<10.12) which are still supported by official Python #11786
Comments
I don't think we can support macOS 10. It's extremely EOL -- even macOS 11 is EOL and has been for almost a year, right? |
Yeah I don't think we can support it. Rust dropped sierra support with Rust 1.74 which is the minimal rust version that we require. I just tried and we can't downgrade below 1.74 because we make use of the new cargo |
Rust and Go are the worst offenders when it comes to basic compatibility. I can compile C programs from the 80 w/o problems, or get the latest C compiler, but running simple Rust or Go commands is a big disaster. Just broken ecosystems, IMHO. Anyway… if someone else stumbles onto this problem, here's the proper solution. We can replace the the linked libSystem.B.dylib in the ruff binary with a wrapper library which inserts the missing functions and passes the rest along to Apple's libSystem.B.dylib afterwards: $ otool -L ruff
ruff:
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1953.255.0)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 1228.0.0)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)
$ install_name_tool -change /usr/lib/libSystem.B.dylib /usr/local/lib/libMacportsLegacySystem.B.dylib ruff
$ otool -L ruff
ruff:
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1953.255.0)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 1228.0.0)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libMacportsLegacySystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)
$ ./ruff --version
ruff 0.4.8 The legacy wrappers are available here: https://github.com/macports/macports-legacy-support or alternatively here: https://ports.macports.org/port/legacy-support/details/ |
(on Mac OS X 10.10.5 aka Yosemite, an OS version still officially supported by Python/CPython)
Note: ruff version 0.1.2 from end of last year which I had previously installed did not have this issue.
It's still possible to temporarily/ awkwardly workaround it by injecting the legacy support support library from the MacPorts project, so it really should be just a minor compatibility issue really:
Likewise trying to install it via pip is a sad outcome (used to work before too)
So no luck on that route either (albeit that doesn't look like ruff's fault.) The Rust ecosystem really gives nothing about any sort of backwards compatibility it seems. 😢
The text was updated successfully, but these errors were encountered: