Skip to content
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

Update Readme Instructions for 32-bit MinGW Builds #38743

Closed
ahicks92 opened this issue Dec 31, 2016 · 5 comments
Closed

Update Readme Instructions for 32-bit MinGW Builds #38743

ahicks92 opened this issue Dec 31, 2016 · 5 comments
Labels
A-docs Area: Documentation for any part of the project, including the compiler, standard library, and tools C-enhancement Category: An issue proposing an enhancement or a PR with one. O-windows-gnu Toolchain: GNU, Operating system: Windows

Comments

@ahicks92
Copy link
Contributor

I found out this was incorrect when I had to build Rust on 32-bit Windows for a failing test to do with #37429. I want to say it was @alexcrichton who gave me the workaround of downloading the zip the CI server uses. I mentioned updating it on IRC in the same conversation, but that doesn't seem to have happened yet, so I figured I'd open an issue. I believe it is correct for x64, but haven't tried.

@alexcrichton
Copy link
Member

Thanks for the report @camlorn! To clarify, what's happening here is:

  • The README provides working 64-bit instructions
  • The README then says "s/x86_64/i686/" if you're on 32-bit, but this is wrong.
  • On 32-bit, the gcc compiler coming from pacman is always compiled with the pthread threading model, which Rust is incompatible with
  • We need to recommend downloading a compiler with the win32 threading model and dwarf exceptions

Overall I think we should recommend MSVC first, then 64-bit GNU, then 32-bit GNU if we really need to, but ideally we could relegate this information to outside the readme as it's "weird to follow"

@ahicks92
Copy link
Contributor Author

ahicks92 commented Jan 1, 2017

As I read the readme, it is currently implying that you need MinGW to perform a MSVC build, as the first paragraph mentions other dependencies that are perhaps not needed. Given that Windows is my primary platform, it is ironic that I have not yet built Rustc under MSVC.

As a concrete solution, perhaps:

  • Move the MSVC section up and edit it to stop mentioning MinGW or implying that you need MinGW installed.

  • Remove the bit about replacing in the MinGW section, change the header to say that it's "MinGW X64" or something, and possibly mention that we encourage Windows users to use the MSVC version whenever possible.

  • Add a section about how to get a 32-bit build under MinGW working, possibly linking to another document or just telling people they need the CI 7zip.

@Mark-Simulacrum Mark-Simulacrum added the O-windows Operating system: Windows label May 18, 2017
@Mark-Simulacrum Mark-Simulacrum added the C-enhancement Category: An issue proposing an enhancement or a PR with one. label Jul 26, 2017
@steveklabnik
Copy link
Member

Triage: the README still says:

If you're building a 32-bit compiler, then replace "x86_64" below with "i686".

@steveklabnik steveklabnik added the A-docs Area: Documentation for any part of the project, including the compiler, standard library, and tools label Mar 28, 2020
@mati865
Copy link
Contributor

mati865 commented Mar 28, 2020

AFAIK 32 bit MinGW builds are fine nowadays.

@jonas-schievink jonas-schievink added O-windows-gnu Toolchain: GNU, Operating system: Windows and removed O-windows Operating system: Windows labels Mar 29, 2020
@mati865
Copy link
Contributor

mati865 commented Aug 12, 2020

I've build Rust with 32-bit MinGW like dozen times now and there are no issues with the README steps. We can close this I think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-docs Area: Documentation for any part of the project, including the compiler, standard library, and tools C-enhancement Category: An issue proposing an enhancement or a PR with one. O-windows-gnu Toolchain: GNU, Operating system: Windows
Projects
None yet
Development

No branches or pull requests

6 participants