-
Notifications
You must be signed in to change notification settings - Fork 894
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
x86_64-pc-windows-gnu/rustup-init.exe
should suggest x86_64-pc-windows-gnu
as the default host triple
#1851
Comments
I think that each ./rustup-init.exe --default-host=x86_64-pc-windows-gnu I would like @kinnison or anyone to comment about this. |
Windows builds of rustup always default to the |
I find it weird that we still release rustup binaries compiled by In general, if you have VC++ installed then Since you say the onboarding process was painful, how exactly could the rustup installation process be improved? Were your toolchain options not sufficiently explained or was it not clear how to select the toolchain? |
I think we have three separate but related issues being discussed here: Some background first - my understanding here is incomplete, but I believe that requiring the MSVC++ runtime dll is not a hard requirement for rust built binaries: its just the default behaviour. This RFC covers more detail https://github.com/rust-lang/rfcs/blob/master/text/1721-crt-static.md , and it has been possible since 2017 to build binaries that only link to kernel32.dll, not to vcruntime.dll. rust-lang/rust#37406 (comment) So working back through those three issues: b) there is merit to the idea that rustup built against the mingw toolchain should default to the mingw toolchain. But on balance - given rustup's job: to install toolchains on operating systems, and that even when built against mingw's libc, rustup is still targeting Windows, not e.g. Cygwin with its different VFS layer, then rustup should behave consistently. mingw here is a different compiler not a different behaviour line for rustup. a) @cup when you installed rustup, did you encounter a missing vcruntime.dll error? If so, it would indicate that our CI / release builds are not using static CRT linkage, and given where rustup exists in the installation flow for rust we probably should do that; however I don't recall any help requests or other bugs indicating that, so don't want to assume that that is what happened. |
@rbtcollins i didnt install it. Once I got the screen with what I perceived as an error - i stopped and reported it here. Again I will stress that i dont think its appropriate that BOTH installers are defaulting to MSVC - they should either default to their respective toolchains or we should remove the GNU altogether, as i cant see how it could produce anything but confusion my current install method has been hacking the TAR.GZ as detailed in rust-lang/rust#60335 - with a backup as the MSI - rustup would be a good option if the issue in the OP was resolved - thanks |
@rbtcollins thats not ideal. For new users I think the best option is to offer:
This workflow is currently not possible with Rust, as with both the MSI and |
@cup setting the host is documented here - https://github.com/rust-lang/rustup.rs/blob/master/README.md#working-with-rust-on-windows (which is linked from https://www.rust-lang.org/tools/install and that is linked from https://doc.rust-lang.org/1.5.0/book/installing-rust.html). Basically during install select the option to change the default and put Note also that you don't even need to change the host to target the gnu ABI if thats all you want to do - a single install on windows can target the gnu hosts - just run rustup target add |
re: the idea of a zip with all the bits in it - thats an interesting idea; I'm not sure of the best forum to discuss it, its a larger topic than just rustup though - perhaps raising it in the user forums or something to get some traction around the idea might make sense |
@cup I understood your point; which is why I said that it was really a larger discussion than the rustup team; in the context of the rustup team I think the obvious thing to do is to stop offering mingw builds of rustup, as, as already pointed out here by you and others, all they do is confuse folk. I'm trying to get this ticket here to a point where we can either act on it to fix it, or decide that there is nothing to do and close it. At this point it seems like 'stop offering the binary' is the thing to do. |
I must use Mingw since msvc needs admin rights, so I rely on this |
@Kreijstal I think you misunderstand the ticket; the rustup builds you download can be built with MSVC without requiring any particular rights for as a user to use them. What you want is a gnu flavour host triple for the target toolchain that is installed, which is already and separately supported. |
x86_64-pc-windows-gnu/rustup-init.exe
should suggest x86_64-pc-windows-gnu
as the default host triple
If I download this file:
https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe
and run I get this result by default:
However if I download this file:
https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-gnu/rustup-init.exe
and run I get the same result. With GNU RustUp why is it not setting GNU ABI for
the default host triple?
The text was updated successfully, but these errors were encountered: