🌐
MSYS2
packages.msys2.org › packages
Packages - MSYS2 Packages
Pending Updates · Repo Updates · Outdated Packages · Repos · Base Packages · Packages · Base Groups · Groups · Security · Search
Base Packages
Pending Updates · Repo Updates · Outdated Packages · Repos · Base Packages · Packages · Base Groups · Groups · Security · Search
Pending Updates
Packages get automatically built via msys2/msys2-autobuild. Maintainers can control the build pipeline here. After the packages are built they still need to be manually signed and uploaded to the pacman repo, so please be patient :) · Active Jobs: clangarm64
Repos
https://github.com/msys2/MINGW-packages · Packages: 3957 · Package Size: 20.86 GB · Installed Size: 104.18 GB · URL: https://repo.msys2.org/mingw/clang64 · GitHub: https://github.com/msys2/MINGW-packages · Packages: 3870 · Package Size: 17.71 GB · Installed Size: 94.44 GB ·
Search
Pending Updates · Repo Updates · Outdated Packages · Repos · Base Packages · Packages · Base Groups · Groups · Security · Search
🌐
MSYS2
packages.msys2.org › packages › mingw-w64-x86_64-gcc
Package: mingw-w64-x86_64-gcc - MSYS2 Packages
1 month ago - Installation: pacman -S mingw-w64-x86_64-gcc 📋 · File: https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-16.2.0-6-any.pkg.tar.zst · SHA256: f9a78b7f257984bc8a2b62d5f93f1af45b03d4b84afaf2eafc7d90c9b8c4568e · Last Packager: CI (https://github.com/msys2/msys2-autobuild/actions...
Discussions

How to install 64-bit MSYS2, really?
They are called Environments , basically determining what standard C library to use (cygwin, ucrt, msvcrt), what compiler to use (gcc, clang) and architecture (i686 (32-bit), x86_64 (64-bit), aarch64 (64-bit arm)). They have different launchers that just sets up the correct environment variables. Note that the "cygwin" environment means it requires the cygwin DLLs to work (which isn't shipped with windows) (msys2 is based on cygwin) but you get access to unix/linux-like functions like fork() (although even that function is still problematic ). If you want to build 64-bit executables that work outside of MSYS2, use UCRT64. If you want to build executables for yourself that need some of the unix/linux API and are OK that it needs MSYS2, use MSYS. (There isn't a official 32-bit of MSYS2 anymore, so it's always 64-bit). Is "win32api" an indication that using this gcc I'll be compiling for 32-bit Windows? Or is "win32api" simply the legacy name left over from the 1990's, designating the Windows API against which all Windows programs (regardless whether 32-bit or 64-bit) are compiled? Microsoft calls it Win32 API despite working both for 32-bit and 64-bit. More on reddit.com
🌐 r/C_Programming
8
0
July 10, 2025
MSYS2 won't install
My OS is Windows version is 22H2 (25284.1000). And MSYS2 won’t install. I know that you guys aren’t responsible for MSYS2, but perhaps some of you have encountered the same problem and know a solution! =) At 50%, I get a message. Since I am a German, this translation might be not so correct: ... More on community.vcvrack.com
🌐 community.vcvrack.com
14
0
February 1, 2023
🌐
openFrameworks
openframeworks.cc › setup › msys2
msys2 | openFrameworks
May 2, 2025 - If the conflicting path is in the system PATH and you do not have administrative privileges, copy/link ssleay32.dll and libeay32.dll from your_msys2_directory\mingw64\bin to the executable folder. "I'm on a corporate network and I cannot install OF dependencies, update MSYS2..."
🌐
MSYS2 Packages
packages.msys2.org › base
Base Packages - MSYS2 Packages
Pending Updates · Repo Updates · Outdated Packages · Repos · Base Packages · Packages · Base Groups · Groups · Security · Search
🌐
YouTube
youtube.com › watch
Installation and Setup of MSYS2 - YouTube
In this video we will walk-through the installation and setup of the MSYS2 software distribution and building platform. This platform provides us with the en...
Published: June 28, 2021
🌐
Softonic
msys2.en.softonic.com › home › windows › utilities & tools
MSYS2 - Download
June 22, 2026 - MSYS2 offers a comprehensive selection of tools and libraries that will enable you to build, install, and run Windows exclusive applications. This utility is best suited for experienced developers or coders that are familiar with various terminals and the inner workings of the Windows operating systems.
🌐
Medium
ac1d.medium.com › developing-c-applications-on-windows-with-msys2-vscode-64b286d9fea1
Developing C Applications on Windows with MSYS2 (& VSCODE) | by Penthos | Medium
October 10, 2024 - By using MinGW-w64 GCC, we can ... without worrying about additional dependencies. Download MSYS2: - Visit the MSYS2 website and download the installer....
Find elsewhere
🌐
MSYS2
msys2.org
MSYS2 - Getting Started
Enter your desired Installation Folder. We recommend using the default, see installation folder recommendations for more information. When done, click Finish. Now MSYS2 is ready for you and a terminal for the UCRT64 environment will launch.
🌐
mingw-w64
mingw-w64.org › getting-started › msys2
Windows / MSYS2 (GCC) - mingw-w64
Install MSYS2 from the official website: https://www.msys2.org · After installation, open "MSYS2 UCRT64" from the Start menu and install the C and C++ compiler: $ pacman -S mingw-w64-ucrt-x86_64-gcc ·
🌐
EPICS Documentation
docs.epics-controls.org › en › latest › getting-started › installation-windows-msys2.html
Installation using MSYS2/MinGW — EPICS Documentation
MSYS2 provides a Bash shell, Autotools, revision control systems and other tools for building native Windows applications using MinGW-w64 toolchains. It can be installed from its official website. Download and run the installer - “x86_64” for 64-bit Windows.
🌐
Reddit
reddit.com › r/c_programming › how to install 64-bit msys2, really?
r/C_Programming on Reddit: How to install 64-bit MSYS2, really?
July 10, 2025 -

See title -- it's what I'm trying to do. I'd like the MSYS2 installaton to work with Eclipse CDT, which is why I'm also taking these instructions into account. Working with CDT is not my primary goal though -- most important is to set up a 64-bit MSYS2/MinGW dev environment.

I've downloaded and installed msys2-x86_64-20250622.exe. I'm pretty sure that's the correct installer for a 64-bit Windows 10 machine, which is what I'm on. So far so good.

So I run it, and start up "MSYS2" from the Start menu, run "pacman -Syu", then "pacman -S gcc make vim".

But then I look at the instructions linked above, and it seems that "pacman -S gcc" is a mistake, even though gcc works fine from the MSYS2 command line after installation. Apparently, in order for things to work with Eclipse CDT, I should have done "pacman -S mingw-w64-ucrt-x86_64-gcc", which installs GCC stuff into /msys64/ucrt64. Strangely though, the urct64 subdir is is not on MSYS' own PATH, so after installation the binaries aren't found when called from the MSYS2 console.

So here's one question: why does MSYS2 have a "normal" GCC package (with all its dependencies), and also an alternative "UCRT64" GCC package, with its own dependencies (also marked URCT64). The suffix "64" seems to suggest that that's what I want on a 64-bit machine -- but since the MSYS2 core that I installed is itself 64-bit, I have no idea why I would have to specify the 64-bit packages explicitly -- and even less of an idea as to why the binaries inside those "ucrt64" packages aren't even put on MSYS2' own PATH.

BUT! Now things turn even more complicated when I read this MinGW page. As it turns out, the MSYS2 distributation has created multiple additional startup-links in the Windows start folder, including an "MSYS2 UCRT64", "MSYS2 CLANG64", "MSYS2 MINGW64", etc. Great! What the heck are these for? And why does each of these variants require its own variation of the GCC package and its dependencies?

And why isn't any of this explained anywhere? (Or maybe it is. But DuckDuckGo doesn't know about it.)

First of all, I'd really like to know how I produce 64-bit executables for Windows, using MSYS2. If I run the "regular" (non-UCRT64 gcc", will it create a 32-bit executable or a 64-bit?

Help please.

PS. Among the dependencies of the regular gcc package are msys2-w32api-headers and msys2-w32api-runtime. Is "win32api" an indication that using this gcc I'll be compiling for 32-bit Windows? Or is "win32api" simply the legacy name left over from the 1990's, designating the Windows API against which all Windows programs (regardless whether 32-bit or 64-bit) are compiled?

Top answer
1 of 2
2
They are called Environments , basically determining what standard C library to use (cygwin, ucrt, msvcrt), what compiler to use (gcc, clang) and architecture (i686 (32-bit), x86_64 (64-bit), aarch64 (64-bit arm)). They have different launchers that just sets up the correct environment variables. Note that the "cygwin" environment means it requires the cygwin DLLs to work (which isn't shipped with windows) (msys2 is based on cygwin) but you get access to unix/linux-like functions like fork() (although even that function is still problematic ). If you want to build 64-bit executables that work outside of MSYS2, use UCRT64. If you want to build executables for yourself that need some of the unix/linux API and are OK that it needs MSYS2, use MSYS. (There isn't a official 32-bit of MSYS2 anymore, so it's always 64-bit). Is "win32api" an indication that using this gcc I'll be compiling for 32-bit Windows? Or is "win32api" simply the legacy name left over from the 1990's, designating the Windows API against which all Windows programs (regardless whether 32-bit or 64-bit) are compiled? Microsoft calls it Win32 API despite working both for 32-bit and 64-bit.
2 of 2
1
> If I run the "regular" (non-UCRT64 gcc", will it create a 32-bit executable or a 64-bit? Try it. As I can recall, it has produced 64 app for me. Use -m64 option if not. The compiler executable should be the same for any targets, I hope. My distributive, downloaded from https://www.msys2.org/ , has been named msys2-x86_64-20230526.exe
Top answer
1 of 4
275

Unfortunately, the MinGW-w64 installer you used sometimes has this issue. I myself am not sure about why this happens (I think it has something to do with Sourceforge URL redirection or whatever that the installer currently can't handle properly enough).

Anyways, if you're already planning on using MSYS2, there's no need for that installer.

  1. Download MSYS2 from this page.

  2. After the install completes, click on the MSYS2 UCRT64 in the Start menu (or C:\msys64\ucrt64.exe).

    If done correctly, the terminal prompt will say UCRT64 in magenta letters, not MSYS.

  3. Update MSYS2 using pacman -Syuu. If it closes itself during the update, restart it and repeat the same command to finish the update.

    You should routinely update your installation.

  4. Install the toolchain: (i.e. the compiler and some extra tools)

    pacman -S mingw-w64-ucrt-x86_64-toolchain
    
  5. Install any libraries/tools you may need. You can search the repositories by doing

    pacman -Ss name_of_something_i_want_to_install
    

    e.g.

    pacman -Ss gsl
    

    and install using

    pacman -S package_name_of_something_i_want_to_install
    

    e.g.

    pacman -S mingw-w64-ucrt-x86_64-gsl
    

    and from then on the GSL library will be automatically found by your compiler!

    Make sure any compilers and libraries you install have this package prefix: mingw-w64-ucrt-x86_64-. Only use unprefixed packages for misc command-line utilities (such as grep, sed, make, etc), unless you know what you're doing.

  6. Verify that the compiler is working by doing

    gcc --version
    

If you want to use the toolchains (with installed libraries) outside of the MSYS2 environment, all you need to do is add C:/msys64/ucrt64/bin to your PATH.

MSYS2 provides several compiler flavors, UCRT64 being one of them. It should be a reasonable default.

2 of 4
65

MSYS has not been updated a long time. MSYS2 is more active, and you can download it from MSYS2. It has both the mingw and cygwin fork package.

To install the MinGW-w64 toolchain (reference):

  1. Open the MSYS2 shell from the start menu
  2. Run pacman -Sy pacman to update the package database
  3. Reopen the shell, and run pacman -Syu to update the package database and core system packages
  4. Reopen the shell, and run pacman -Su to update the rest
  5. Install the compiler:
    • For a 32-bit target, run pacman -S mingw-w64-i686-toolchain
    • For a 64-bit target, run pacman -S mingw-w64-x86_64-toolchain
  6. Select which package to install; the default is all
  7. You may also need make. Run pacman -S make
🌐
GitHub
github.com › msys2 › msys2-installer
GitHub - msys2/msys2-installer: The one-click installer for MSYS2 · GitHub
Installing the GUI installer via the CLI to C:\msys64: .\msys2-x86_64-latest.exe in --confirm-command --accept-messages --root C:/msys64
🌐
GitHub
github.com › msys2 › setup-msys2
GitHub - msys2/setup-msys2: GitHub Action to setup MSYS2 · GitHub
Installing additional packages after updating the system is supported through option install. The package or list of packages are installed through pacman --noconfirm -S --needed --overwrite *. - uses: msys2/setup-msys2@v2 with: update: true ...
🌐
VCV Community
community.vcvrack.com › development
MSYS2 won't install - Development - VCV Community
February 1, 2023 - My OS is Windows version is 22H2 (25284.1000). And MSYS2 won’t install. I know that you guys aren’t responsible for MSYS2, but perhaps some of you have encountered the same problem and know a solution! =) At 50%, I get a message. Since I am a German, this translation might be not so correct: (Message Box) "Error while installing component com.msys2.root: Execution failed (Unexpected exit code: 254): “C:/msys64\usr\bin\bash.exe --login -c exit” Tried “Repeat”, but didn’t work.
🌐
GitHub
gist.github.com › charitra1022 › dbc6de742452bff3680782d343e5289b
MSYS2 -> Installation of MinGW (32-Bit) · GitHub
Msys2 doesn't seem to come with a mingw32 launcher these days so idk how I would actually use it since it's part of the mingw32 environment but there is no mingw32 launcher, at least there wasn't when I installed the latest msys2 version EDIT: never mind, I actually checked the msys64 folder and there was actually a mingw32.exe there, there just wasn't a start menu shortcut created for it for some reason
🌐
Medium
ripon-banik.medium.com › install-msys2-on-windows-d0cf4ed54a6f
Install MSYS2 on Windows. MSYS is a build tool for Windows. In… | by Ripon Banik | Medium
November 16, 2018 - Please run ‘ridk install’ or download and install MSYS2 manually from https://msys2.github.io/
🌐
Mit
rfsoc.mit.edu › 6S965 › F25 › documentation › windows_guide › msys2
6.S965: Digital Systems Laboratory II
August 9, 2025 - Get the installer using Winget from PowerShell using the command winget install -i MSYS2.MSYS2.
🌐
SourceForge
sourceforge.net › home › browse › mingw-w64 - for 32 and 64 bit windows › wiki2
MinGW-w64 - for 32 and 64 bit Windows / Wiki2 / MSYS
There are three places you can get MSYS: * The MinGW project, with seperate packages of all official MSYS packages. Takes a long time to download and install everything. * The all-in-one package on the MinGW-w64 download page. It is updated on request (see third option for very up to date ...