{"slug": "msys2", "name": "MSYS2", "category": "terminal", "category_name": "Terminal and shell", "description": "", "recommenders": 5, "commenters": 11, "warners": 3, "score": 1.801, "rising": -1.64, "first": "2025-11-11", "latest": "2026-08-27", "why": "the work the MSYS2 team put into their layered environments mechanism", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 5, "neutral": 2, "compare": 2, "warn": 3}, "spark": [0, 0, 0, 3, 0, 1, 0, 1, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "the work the MSYS2 team put into their layered environments mechanism", "kind": "", "icon": true, "domain": "msys2.org", "github_repo": null, "official_url": "https://www.msys2.org", "pricing": "", "aliases": ["MSYS2"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 773984769, "item_id": 48374048, "url": "https://news.ycombinator.com/item?id=48374048", "by": "spider-mario", "date": "2026-06-02", "version": null, "stance": "recommend", "quote": "Or MSYS2, to go even further. https://www.msys2.org/", "excerpt": "Or MSYS2, to go even further. https://www.msys2.org/", "context": "", "use_case": "", "switched_from": "", "story": "Coreutils for Windows"}, {"id": 765812192, "item_id": 47863262, "url": "https://news.ycombinator.com/item?id=47863262", "by": "ktm5j", "date": "2026-04-22", "version": null, "stance": "recommend", "quote": "MSYS2 is my favorite in this area.", "excerpt": "MSYS2 is my favorite in this area. Super lightweight and easy to use, highly recommend.", "context": "", "use_case": "POSIX tools on Windows", "switched_from": "", "story": "Windows 9x Subsystem for Linux"}, {"id": 752857552, "item_id": 47053597, "url": "https://news.ycombinator.com/item?id=47053597", "by": "yellowapple", "date": "2026-02-17", "version": null, "stance": "recommend", "quote": "And that download page is much smoother sailing:", "excerpt": "> If you're just a guy trying to compile a C application on Windows, and you end up on the mingw-w64 downloads page, it's not exactly smooth sailing: https://www.mingw-w64.org/downloads/ One of the options on that page is MSYS2, which I specifically listed above alongside MinGW-w64. And that download page is much smoother sailing: https://www.msys2.org/ There are other options on the MinGW-w64 page, but most of those", "context": "", "use_case": "Unix-like build environment", "switched_from": "", "story": "I Fixed Windows Native Development"}, {"id": 752451600, "item_id": 47028225, "url": "https://news.ycombinator.com/item?id=47028225", "by": "okanat", "date": "2026-02-15", "version": null, "stance": "recommend", "quote": "I do appreciate it as a daily user of MSYS2.", "excerpt": "I do appreciate it as a daily user of MSYS2. However the bigger thing that enabled them is indeed Cygwin project since it unlocked the path to build things that are using strict Unix tooling. autoconf, Make, bash etc cannot run under a pure Windows environment. They are too dependent to the underlying system being a Unix. To use pacman, bash and make in MSYS2, you need msys-2.0.dll. Even they cite Cygwin's URL in the", "context": "", "use_case": "Unix tooling on Windows", "switched_from": "", "story": "I Fixed Windows Native Development"}, {"id": 752401168, "item_id": 47025073, "url": "https://news.ycombinator.com/item?id=47025073", "by": "michaelsbradley", "date": "2026-02-15", "version": null, "stance": "recommend", "quote": "the work the MSYS2 team put into their layered environments mechanism", "excerpt": "I think you\u2019re underestimating or discounting the work the MSYS2 team put into their layered environments mechanism: https://www.msys2.org/docs/environments/", "context": "", "use_case": "Windows dev environment", "switched_from": "", "story": "I Fixed Windows Native Development"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 765796544, "item_id": 47862284, "url": "https://news.ycombinator.com/item?id=47862284", "by": "ethin", "date": "2026-04-22", "version": null, "stance": "warn", "quote": "Msys 2 would work great until it didn't", "excerpt": "In my personal experience, Msys 2 would work great until it didn't. Unless this has changed, from what I remember, Msys2 compiled everything without PIC/PIE, and Windows does allow you to configure, system-wide, whether ASLR is used, and whether it's used \"if supported\" or always. If that setting is set to anything but off, Msys2 binaries will randomly crash with heap allocation errors, or they do on my system. It ha", "context": "", "use_case": "", "switched_from": "", "story": "Windows 9x Subsystem for Linux"}, {"id": 752428801, "item_id": 47026800, "url": "https://news.ycombinator.com/item?id=47026800", "by": "grub5000", "date": "2026-02-15", "version": null, "stance": "warn", "quote": "MinGW and MinGW-64/MSYS2 are just as inscrutable, fragile and new-user-hostile", "excerpt": "MinGW and MinGW-64/MSYS2 are just as inscrutable, fragile and new-user-hostile. The fact that you have to choose between MinGW (which has a 64 bit version) or MinGW64 (completely separate codebases maintained by different people as far as I can tell) is just the first in a long obstacle course of decisions, traps, and unexplained acronyms/product names. There are dozens of different versions, pre-built toolchains and", "context": "", "use_case": "", "switched_from": "", "story": "I Fixed Windows Native Development"}, {"id": 752402385, "item_id": 47025149, "url": "https://news.ycombinator.com/item?id=47025149", "by": "delta_p_delta_x", "date": "2026-02-15", "version": null, "stance": "warn", "quote": "there is actually zero need for MSYS at all for this", "excerpt": "> MSYS2 CLANG64 I get your point. Although my point is that there is actually zero need for MSYS at all for this, even as a developer, and especially not with the 'CLANG64' environment. These binaries themselves are built to run in the MSYS2 environment This is how I cross-compile from Windows... to Windows with LLVM-MinGW[1]: > (gci Env:PATH).Value.Split(';') | sort > clang-21.exe --version clang version 21.1.2 (htt", "context": "", "use_case": "", "switched_from": "", "story": "I Fixed Windows Native Development"}]}], "who": [], "tags": [], "use_cases": ["building on windows", "posix tools on windows", "unix-like build environment", "unix tooling on windows", "windows dev environment"], "compared": [{"slug": "cygwin", "name": "Cygwin", "co": 4, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=47022891", "title": "I Fixed Windows Native Development", "mentions": 5}, {"url": "https://news.ycombinator.com/item?id=48372853", "title": "Coreutils for Windows", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=47861270", "title": "Windows 9x Subsystem for Linux", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49422243", "title": "Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45873625", "title": "The Linux Kernel Looks to \u201cBite the Bullet\u201d in Enabling Microsoft C Extensions", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 1}, "2025-12": {}, "2026-01": {}, "2026-02": {"recommend": 3, "warn": 2}, "2026-03": {}, "2026-04": {"warn": 1, "recommend": 1}, "2026-05": {}, "2026-06": {"recommend": 1, "compare": 2}, "2026-07": {}, "2026-08": {"neutral": 1}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 791466848, "item_id": 49466678, "url": "https://news.ycombinator.com/item?id=49466678", "by": "llm_hal_9000", "date": "2026-08-27", "version": null, "stance": "neutral", "quote": "I used msys2 (and spammed Gemini with error messages) for building manually", "excerpt": "I'm not very good at programming. I tried to run this on Windows 11 and ran into some issues but managed to get most of the examples mostly working after a while. They were all missing text but most of the pictures and css would render. I used msys2 (and spammed Gemini with error messages) for building manually but had to modify a number of the build files after making sure I had all the SDL3 bits installed. I'm assu", "context": "", "use_case": "building on Windows", "switched_from": "", "story": "Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3"}, {"id": 774011456, "item_id": 48375716, "url": "https://news.ycombinator.com/item?id=48375716", "by": "okanat", "date": "2026-06-02", "version": null, "stance": "compare", "quote": "", "excerpt": "You're conflating MSYS2 with Mingw-w64. MSYS2 installation comes with multiple environments/ABIs and MSYS2 mode is actually a fork of Cygwin. They fork Cygwin, put some patches on and rename the DLL as msys-2.0.dll . Here is the sources for MSYS2 runtime that produces it: https://github.com/msys2/msys2-runtime . To run bash you need termios API, stty, fork, exec and signals (and some other POSIX-specific funtions). D", "context": "", "use_case": "", "switched_from": "", "story": "Coreutils for Windows"}, {"id": 773993265, "item_id": 48374579, "url": "https://news.ycombinator.com/item?id=48374579", "by": "rzzzt", "date": "2026-06-02", "version": null, "stance": "compare", "quote": "MSYS2 packages will need to use whatever the NT kernel provides", "excerpt": "Cygwin executables need cygwin1.dll to run while MSYS-based distributions are using Windows APIs directly. One major difference is around process management: in Cygwin fork() is implemented* while MSYS2 packages will need to use whatever the NT kernel provides (i.e. also need to modify the source to build for this target): https://stackoverflow.com/questions/985281/what-is-the-closest-thing-windows-has-to-fork", "context": "", "use_case": "", "switched_from": "", "story": "Coreutils for Windows"}, {"id": 773984769, "item_id": 48374048, "url": "https://news.ycombinator.com/item?id=48374048", "by": "spider-mario", "date": "2026-06-02", "version": null, "stance": "recommend", "quote": "Or MSYS2, to go even further. https://www.msys2.org/", "excerpt": "Or MSYS2, to go even further. https://www.msys2.org/", "context": "", "use_case": "", "switched_from": "", "story": "Coreutils for Windows"}, {"id": 765812192, "item_id": 47863262, "url": "https://news.ycombinator.com/item?id=47863262", "by": "ktm5j", "date": "2026-04-22", "version": null, "stance": "recommend", "quote": "MSYS2 is my favorite in this area.", "excerpt": "MSYS2 is my favorite in this area. Super lightweight and easy to use, highly recommend.", "context": "", "use_case": "POSIX tools on Windows", "switched_from": "", "story": "Windows 9x Subsystem for Linux"}, {"id": 765796544, "item_id": 47862284, "url": "https://news.ycombinator.com/item?id=47862284", "by": "ethin", "date": "2026-04-22", "version": null, "stance": "warn", "quote": "Msys 2 would work great until it didn't", "excerpt": "In my personal experience, Msys 2 would work great until it didn't. Unless this has changed, from what I remember, Msys2 compiled everything without PIC/PIE, and Windows does allow you to configure, system-wide, whether ASLR is used, and whether it's used \"if supported\" or always. If that setting is set to anything but off, Msys2 binaries will randomly crash with heap allocation errors, or they do on my system. It ha", "context": "", "use_case": "", "switched_from": "", "story": "Windows 9x Subsystem for Linux"}, {"id": 752857552, "item_id": 47053597, "url": "https://news.ycombinator.com/item?id=47053597", "by": "yellowapple", "date": "2026-02-17", "version": null, "stance": "recommend", "quote": "And that download page is much smoother sailing:", "excerpt": "> If you're just a guy trying to compile a C application on Windows, and you end up on the mingw-w64 downloads page, it's not exactly smooth sailing: https://www.mingw-w64.org/downloads/ One of the options on that page is MSYS2, which I specifically listed above alongside MinGW-w64. And that download page is much smoother sailing: https://www.msys2.org/ There are other options on the MinGW-w64 page, but most of those", "context": "", "use_case": "Unix-like build environment", "switched_from": "", "story": "I Fixed Windows Native Development"}, {"id": 752451600, "item_id": 47028225, "url": "https://news.ycombinator.com/item?id=47028225", "by": "okanat", "date": "2026-02-15", "version": null, "stance": "recommend", "quote": "I do appreciate it as a daily user of MSYS2.", "excerpt": "I do appreciate it as a daily user of MSYS2. However the bigger thing that enabled them is indeed Cygwin project since it unlocked the path to build things that are using strict Unix tooling. autoconf, Make, bash etc cannot run under a pure Windows environment. They are too dependent to the underlying system being a Unix. To use pacman, bash and make in MSYS2, you need msys-2.0.dll. Even they cite Cygwin's URL in the", "context": "", "use_case": "Unix tooling on Windows", "switched_from": "", "story": "I Fixed Windows Native Development"}, {"id": 752428801, "item_id": 47026800, "url": "https://news.ycombinator.com/item?id=47026800", "by": "grub5000", "date": "2026-02-15", "version": null, "stance": "warn", "quote": "MinGW and MinGW-64/MSYS2 are just as inscrutable, fragile and new-user-hostile", "excerpt": "MinGW and MinGW-64/MSYS2 are just as inscrutable, fragile and new-user-hostile. The fact that you have to choose between MinGW (which has a 64 bit version) or MinGW64 (completely separate codebases maintained by different people as far as I can tell) is just the first in a long obstacle course of decisions, traps, and unexplained acronyms/product names. There are dozens of different versions, pre-built toolchains and", "context": "", "use_case": "", "switched_from": "", "story": "I Fixed Windows Native Development"}, {"id": 752402385, "item_id": 47025149, "url": "https://news.ycombinator.com/item?id=47025149", "by": "delta_p_delta_x", "date": "2026-02-15", "version": null, "stance": "warn", "quote": "there is actually zero need for MSYS at all for this", "excerpt": "> MSYS2 CLANG64 I get your point. Although my point is that there is actually zero need for MSYS at all for this, even as a developer, and especially not with the 'CLANG64' environment. These binaries themselves are built to run in the MSYS2 environment This is how I cross-compile from Windows... to Windows with LLVM-MinGW[1]: > (gci Env:PATH).Value.Split(';') | sort > clang-21.exe --version clang version 21.1.2 (htt", "context": "", "use_case": "", "switched_from": "", "story": "I Fixed Windows Native Development"}, {"id": 752401168, "item_id": 47025073, "url": "https://news.ycombinator.com/item?id=47025073", "by": "michaelsbradley", "date": "2026-02-15", "version": null, "stance": "recommend", "quote": "the work the MSYS2 team put into their layered environments mechanism", "excerpt": "I think you\u2019re underestimating or discounting the work the MSYS2 team put into their layered environments mechanism: https://www.msys2.org/docs/environments/", "context": "", "use_case": "Windows dev environment", "switched_from": "", "story": "I Fixed Windows Native Development"}, {"id": 734188000, "item_id": 45886750, "url": "https://news.ycombinator.com/item?id=45886750", "by": "dspillett", "date": "2025-11-11", "version": null, "stance": "neutral", "quote": "msys2/git bash", "excerpt": "> > msys2/git bash > That is an independent FOSS project to my knowledge Yes, but they do ship it as part of VS: https://random.spillett.net/stuff/tmp/setup_UYht2mgWnW.png > The must be wanting to replace some maintenance burden I'm sure they'd love to drop Windows as-is, certainly on the desktop, and let others have that burden (moving Gamers to a walled garden via XBox, let Apple and Linux have all the hardware and", "context": "", "use_case": "", "switched_from": "", "story": "The Linux Kernel Looks to \u201cBite the Bullet\u201d in Enabling Microsoft C Extensions"}]}