-
-
Notifications
You must be signed in to change notification settings - Fork 109
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
[Bug]: corrosion breaks due to new rustup toolchain list
format in rustup v1.28.0
#590
Comments
Thanks for the heads-up! Corrosion parses the We had a similar breakage with Rust 1.79 (see #501), and I would also expect this change to break a couple of users. |
@jschwe The good news is that the rustup project is not on Rust's release train; we are rather the rails supporting that train, if you'd like. Although we do wish to ship a release soon, this time we should not be in a real hurry; I'd expect the beta phase to last at least a few weeks. May I ask what precisely is corrosion relying on I'd also be glad to investigate @kanru's advice of changing the middle segment of the output line to |
@jschwe Let me guess: you actually just want to get the active toolchain path with this snippet... corrosion/cmake/FindRust.cmake Lines 423 to 428 in b88ec09
... however you might have tried the following options and concluded that neither is satisfactory:
... so there's definitely something to be improved on our side: I've made rustup#4129 for this. OTOH let me take some time to have a look at your code. I'm not a CMake expert so please bear with me :) |
Ideally, rustup would provide the information we need via a stable JSON format. Maybe we could get a JSON output format before the human readable output is changed again?
Yes, basically that. But we do need/want the whole list of toolchains (including paths), since we want the user to be able to select a toolchain via the Upon thinking about this again, probably corrosion should delegate determining the active toolchain to Perhaps we should use |
@jschwe I wish something like that could happen, yes. But being a volunteer I can't give any words of guarantee at the moment, and I can't help worrying that something this will take quite a lot of bikeshedding... As you can see right now, rather than providing what we are already providing you in some machine-readable format, it's more about cleaning up the overall output logic from our side to make sure that the output contents are satisfactory. That said, I believe a transliteration to JSON will be very easy once we have ironed out the sharp edges such as rust-lang/rustup#4129.
I see. Thanks for the details!
I'm sorry but I'm not sure I have understood what you meant by this... But if you mean something like specifying a toolchain override when running rustup, e.g.
This might be a more ideal approach indeed. |
Current Behavior
Hi! @rami3l from the rustup team here.
After announcing rustup v1.28.0 beta, we have received a bug report that goes like so:
(After upgrading rustup from v1.27.1 to v1.28.0, corrosion is no longer able to find the toolchain it needs:)
rust-lang/rustup#4127
Expected Behavior
The project builds correctly.
Steps To Reproduce
Build any corrosion project with rustup v1.28.0.
The direct cause of this issue is the interaction between rust-lang/rustup#3225 and the following section of corrosion:
corrosion/cmake/FindRust.cmake
Lines 337 to 350 in b88ec09
Environment
- OS: Fedora 41
(However, this error should be platform-independent.)
Remarks
We can do a silent fix on our side, however, we would prefer informing you of this issue in advance so that we can figure out the best way forward together. I will be happy to work on a patch to corrosion if you'd like.
The original motivation of rust-lang/rustup#3225 is that it might not be immediately clear to the end user what the active toolchain is, I wonder if you have the same issue in this project in that respect.
Also, we are interested in providing a machine-facing output mode. Please feel free to provide suggestions WRT how you'd expect this to be done.
Many thanks in advance, and happy holidays :)
The text was updated successfully, but these errors were encountered: