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

[Windows] Add MSYS2 mingw ucrt #3597

Closed
2 of 7 tasks
MSP-Greg opened this issue Jun 16, 2021 · 5 comments
Closed
2 of 7 tasks

[Windows] Add MSYS2 mingw ucrt #3597

MSP-Greg opened this issue Jun 16, 2021 · 5 comments

Comments

@MSP-Greg
Copy link
Contributor

Description:

Currently MSYS2 mingw64 & mingw32 build tools are installed. These are compiled against msvcrt.dll.

The new MSYS2 ucrt tools are compiled against api-ms-win-crt-runtime-*.dll.

Could these be added to the pre-installed tools? I believe all the packages/groups that are currently installed also exist as ucrt packages/groups.

The packages names are prefixed with mingw-w64-ucrt-x86_64...

Ping @miketimofeev thoughts?

Question, Bug, or Feature?:
Feature

Virtual environments affected

  • Ubuntu 16.04
  • Ubuntu 18.04
  • Ubuntu 20.04
  • macOS 10.15
  • macOS 11
  • Windows Server 2016 R2
  • Windows Server 2019
@miketimofeev
Copy link
Contributor

Hi @MSP-Greg!
Does it make sense to replace the current tools with corresponding ucrt ones? Or we need to add them separately?

@MSP-Greg
Copy link
Contributor Author

Hello @miketimofeev

I think the preference would be to have both installed.

As to Windows Ruby, Ruby 3.1 will be released in December, it will be released with a ucrt build available (or maybe the only build). Older releases will continue as mingw builds. It's all tentative right now...

Hence, having both mingw64 & ucrt64 pre-installed would be best?

Thanks, Greg

@larskanis
Copy link

It makes sense to install at least the package

mingw-w64-ucrt-x86_64-gcc

since most of the projects expect a compiler to be already installed, but it is currently not for MINGW-UCRT.

Replacing the packages by it's UCRT equivalents is no good option, since way too many projects depend on the classic MSVCRT and it's packages.

@MSP-Greg
Copy link
Contributor Author

I think that ucrt packages either need to be installed just as mingw64, or not at all.

The whole point of having them installed is to make CI easier and faster. I was just working on a repo that uses pkgconf, which is part of the toolchain group. The normal actions code I was using updates the gcc packages and dependency packages, but not the toolchain packages.

Or, the mingw64 pkgconfig package is installed, but if only ucrt gcc is installed, they'll have to determine that they also need to update/install pkgconf...

Also, the packages that were originally installed (there's been a few additions) were based on user input over (I think) two PR's that were open for a while.

Hence, unless image size is a really important concern, I think the ucrt packages should match the installed mingw packages...

@miketimofeev - thanks for your work removing the 'data' and moving it to the toolset/toolset-*.json files. Much better. And thanks to everyone for updating the images as frequently as it's done (compared to other CI services). That is a big improvement that many people aren't aware of...

@LeonidLapshin
Copy link
Contributor

We have discussed this and made small changes in #3652 , ucrt packages were not added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants