-
-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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
rust 1.49.0 #68089
rust 1.49.0 #68089
Conversation
I was able to install rust 1.49.0 in 10.15.7 and 11.1. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Lots of errors on ARM: Error: 123 failed steps!
|
I want to wait all builds finishing and confirm the failures occurs only in 11-arm. |
|
|
This is an error when installing
But libgit2-sys's version when installing exa by Similarly, this is an error when installing
But ring's version when installing angle-grinder by I have no idea about the solution for these errors yet. |
Homebrew's That's why Homebrew's cargo installs older dependent packages. |
I created a new pull request that Homebrew will not use locked option when executing I tried to install some formulae depending rust, but I succeeded in installing them.
|
Could we submit the cargo.lock patch to workaround with the outdated dependencies? Using lockfile is generally considered best practice. |
Latest ARM Failures: This list is almost identical to the previous one, except for:
Error: 123 failed steps!
|
@shigemk2, can you try the suggestion I made here? Homebrew/brew#10205 (comment) You can put all the rust-based formula changes in one commit, since we don't intend on merging them anyway. Marking this as do-not-merge in the meantime so that no one tries to merge the experimental changes. |
I will try it. |
Great, thanks. Let me know if you need any help. |
@carlocab |
Formula/rust.rb
Outdated
if Hardware::CPU.arm? | ||
# Fix for 1.49.0-beta, remove when the stable version is released | ||
inreplace "src/stage0.txt", "1.48.0", "beta" | ||
inreplace "src/stage0.txt", "2020-11-19", "2020-12-23" | ||
inreplace "src/stage0.txt", "1.48.0", "1.49.0" | ||
inreplace "src/stage0.txt", "2020-11-19", "2020-12-31" | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this still needed? The comment says it should be removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't install rust if this block is removed.
curl: (22) The requested URL returned error: 404
failed to run: curl -s -y 30 -Y 10 --connect-timeout 30 --retry 3 -Sf -o /private/tmp/xxxxxx.sha256 https://static.rust-lang.org/dist/2020-11-19/rust-std-1.48.0-aarch64-apple-darwin.tar.xz.sha256
Build completed unsuccessfully in 0:00:01
make: *** [all] Error 1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is what stage0.txt says:
# This file describes the stage0 compiler that's used to then bootstrap the Rust
# compiler itself.
#
# Currently Rust always bootstraps from the previous stable release, and in our
# train model this means that the master branch bootstraps from beta, beta
# bootstraps from current stable, and stable bootstraps from the previous stable
# release.
#
# If you're looking at this file on the master branch, you'll likely see that
# rustc is configured to `beta`, whereas if you're looking at a source tarball
# for a stable release you'll likely see `1.x.0` for rustc, with the previous
# stable release's version number. `date` is the date where the release we're
# bootstrapping off was released.
So it is needed until the previous stable version supports ARM. Perhaps just update the comment to say "remove when the 2nd stable ARM version is released"?
Formula/amp.rb
Outdated
if Hardware::CPU.arch == :arm64 | ||
system "cargo", "install", "--root", prefix, "--path", "." | ||
else | ||
system "cargo", "install", *std_cargo_args | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great! 👏
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. Thank you.
I will fix any other formulae like this amp.rb after checking brew install --build-from-source amp
is finished.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Btw, I think you can actually do
if Hardware::CPU.arch == :arm64 | |
system "cargo", "install", "--root", prefix, "--path", "." | |
else | |
system "cargo", "install", *std_cargo_args | |
end | |
if Hardware::CPU.arm? | |
system "cargo", "install", "--root", prefix, "--path", "." | |
else | |
system "cargo", "install", *std_cargo_args | |
end |
No need to change your script, though, since these won't be permanent changes.
One comment: keep the modifications to the formulae that depend on Rust in a commit separate to the one where you modify |
Most failed rust packages only need the |
Btw, it takes almost 30 minutes to install rust even in Apple Silicon, so I want to use MAKEFLAGS. |
ARM Error Error: 121 failed steps!brew install --build-from-source angle-grinderbrew install --build-from-source asuka |
On 10.14:
|
Same error as in #68428.
|
On Big Sur:
Not sure what to say about the rest that aren't present in Mojave. If someone could investigate and help resolve any of these errors, that would help this PR along. |
Catalina:
|
Ok, to test whether the 12 failures on Mojave, Catalina and Big Sur are regressions due to Rust 1.49, I am running CI tests on the 12 failed formulae on GitHub runners using the existing Rust formula (1.48). If the failures are exactly the same, then we know that the failures aren't because of the version bump. CI run here: https://github.com/carlocab/homebrew-personal/pull/26/checks |
Errors from @carlocab's Rust 1.48 build of failing formulae:
The macos-11.0 build never ran with an 'Internal error', which is a known issue I've been facing with macos-11.0 GitHub Actions runners and has been reported before. Looks like the primary regressions are rustscan, vice, websocat, and zenith. |
I restarted it to see if the Big Sur runner would work:
We can ignore the |
|
Rebased against master. |
@fxcoudert always a risk with these big heavy PRs! At least it'll give me a chance to poke at some of these failures again... |
Ref. |
|
Ok, The only real one appears to be Merging. |
thank you everyone for your comments! |
Fixes CI failure in Homebrew#68089.
brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew test <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingbrew install <formula>
)?