-
Notifications
You must be signed in to change notification settings - Fork 327
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
Workaround for rust 1.27.0 not compiling on macOS 10.10 #126
Comments
xsv 0.13.0 compiles on Rust 1.20.0 just fine. This is checked in CI. Could you please say why you believe xsv requires Rust 1.27? |
If you use Homebrew it tries to update because rust depends on the latest version. I actually tried to pin rust to 1.24.1. Homebrew failed to install because 'Error: You must brew unpin rust as installing xsv requires the latest version of pinned dependencies' E.g.
Looking at this https://github.com/Homebrew/homebrew-core/blob/master/Formula/xsv.rb I see
I don't know enough about Homebrew to know if it is possible to say that "xsv requires Rust 1.20.0 or later" or if it has to be "xsv requires the latest version of Rust" At the moment it seems like Homebrew thinks it needs the latest version. Thanks for confirming it only needs 1.20.0 or later BTW, I can now stop worrying if the ln hack I did had messed things up in a subtle way. Xsv is a great idea BTW - CSV may be primitive but because it's a lowest common denominator format lots of UK government data sources use it and they generate multi GB files. Xsv means you can process those in a reasonable amount of time. |
All righty, thanks for the explanation. Looks like there's nothing to be done here on my end. I'm not sure who's to blame for your Rust compilation issues though. My guess is that Homebrew probably isn't in the business of supporting every possible Rust version though. |
Would it be possible to add support back in for Yosemite E.g. https://github.com/Homebrew/homebrew-core/blob/master/Formula/xsv.rb
So that means there are bottles (precompiled binaries?) for el_capitan ( 10.11 ), sierra (10.12) and high_sierra ( 10.13 ). So on those ones you don't need to compile rust, you just get the precompiled version. Another option would be to make it not require an upgrade to Rust if you have 1.20 or later. Then again I'm guessing that I'm going to hit the same problem with 10.10 on a load of homebrew packages. Maybe I should just bite the bullet and upgrade to 10.11 at least. |
I don't use a Mac, and I don't really know much about them. So what support there is, I've cobbled together. I have the capacity to test it on my mac mini, and I upgrade that whenever possible. Anything else is really beyond my capacity to support, and asking me to provide support for ancient versions is too asymmetrical for my taste. If you just want a precompiled binary, then they are available here: https://github.com/BurntSushi/xsv/releases --- Those are built via whatever version of macOS runs on Travis. If they work for you great!
This is the xsv repo, not the Homebrew repo. I don't maintain the Homebrew formulas, although I have updated them on occasion. If you're looking to get support for older versions of macOS, then I think you need to go talk to the Homebrew folks, not me. |
No worries, I'm upgrading to 10.12 Sierra now. |
Right, did the OS upgrade and now I can use the bottled version of Rust which obviously installs fine
|
Glad you figured it out! :) |
Well I figure I might as well document it so people can Google for it if they hit the same problem. |
xsv 0.13.0 depends on Rust and requires the latest version (1.27.0 as of now). I've found that on my machine Rust fails to compile, probably because I'm running 10.10 Yosemite because my mac is ancient
rust-lang/rust#51838
Luckily there is a workaround for this.
In the general case where you want to install package X, package X depends on the latest version of package Y and for some reason (poverty, laziness) you can't use the latest version of package Y on your machine. Just do a /usr/local/Cellar/Y and sym link the last known good version to the latest version. This was inspired by https://stackoverflow.com/questions/19664535/how-can-i-prevent-homebrew-from-upgrading-vtk-dependency-for-pcl/19665408#19665408
In this specific case
cd /usr/local/Cellar/rust
ln -s 1.24.1 1.27.0
This tricks homebrew into thinking it already has 1.27.0 and thus won't download it, fail to compile and end up all fubar.
The text was updated successfully, but these errors were encountered: