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
Status of Windows 7 support #10088
Comments
That is the future plan. But the first blocker is that many packages can not be built with ucrt64 right now https://packages.msys2.org/queue?repo=ucrt64 |
It's still unclear how we can easily move existing users from mingw64 to ucrt64 :/ |
This escalated pretty quickly from slowly dropping support for Windows 7/8.1 (which is probably fine) to potentially discontinuing MINGW64. |
That's a good point, thanks. I think it should be possible, but I don't know any ready available Linux toolchain targeting ucrt. Let's leave this out of this discussion then. |
I probably wasn't clear in my original comment. Trying again: |
I didn't want to take over this discussion. But since we already are there: Is there a Linux toolchain for UCRT? |
@mmuetzel Removing Win7/8 support does not mean removal of mingw32/mingw64 build environment. It is just a future plan. UCRT in mingw-w64 itself may need some fixes too. You can see the plans here https://pad.ccc-mannheim.de/p/63tSa4McuD. These are discussed in Discord meetup. You can join too 🤗
Never mix ucrt and mscvrt (mingw32/64) packages. See details here https://www.msys2.org/docs/environments/#msvcrt-vs-ucrt. For example, see the difference of |
@Biswa96: Thanks for confirming what I already thought. |
Going back to the original topic... Thank you for bringing in this discussion so early. I'm afraid that there is no easy solution. Ideally, we could mark packages with a "minimum required OS version" tag, then pacman would refuse to update those packages displaying a prominent notice. The problem is that packagers often would forget to check and set the tag, and once the problematic package is distributed, fixing the mishap would be quite complex in some cases. If upstream decides to abandon users of older Windows versions, that's an issue to be discussed among upstream and its users. A different case is when the package is a core dependency of other outstanding packages, then we could consider the line of action on a case-by-case basis. My 0.02 €. |
Would it be logical to assume mingw32/mingw64 GCC package would be one of the last packages to fail to build? And, of course all the packages needed to build GCC. Tim S. |
There's a standalone LLVM toolchain targeting UCRT available at https://github.com/mstorsjo/llvm-mingw. If you're comfortable with using clang and building dependencies from source, this toolchain is a good alternative. |
Retaining some level of win7 support even if its only keeping archived packages would probably be a good idea, it would at least minimize the number of suicides for the time being. |
@mmuetzel Fedora 37 will have a ucrt toolchain: https://fedoraproject.org/wiki/Changes/F37MingwUCRT |
I think regardless of any change to the toolchain (see the libui comment), if it is decided to abandon Win 7 perhaps it would be useful to provide a "last working Win 7 snapshot", so others could, if they'd want to, continue from there, if you guys decide to abandon windows7. That could be hosted on github I suppose and perhaps some replacement server too as last backup. That way people who may need Win 7 support could continue to work on that last forked code base. Personally I am not affected by this really as I use linux most of the time and my only windows-specific computer runs Win 10, but there are always people who can not easily switch/change. |
Hi, as rubyFeedback said, are there any way to get a "last working Win 7 snapshot" of msys2? Many of my users and friends are still using Windows 7. But currently msys2 is using something which can't work under Win7, such as when using OpenCV library, it's highgui module is depends on QT6, but QT6 can't work under Win7. Any ideas? Thanks. |
Upgrade windows. |
Oh, I think this is the last choice I have to do. In this post: Deprecation of Windows 7 support · Issue #2696 · msys2/MSYS2-packages — msys2/MSYS2-packages#2696 I see there is a plan to have an achieve for old Win7? Any news about this achieve? |
Here is my test for installing an old version of OpenCV, I just download a file named: And Now, I just run the pacman command to install this file, here is the command line:
You see, the installation works correctly, and it's dependency QT5 library is also installed. But if I create a simple OpenCV sample code, and try to show an image in its highgui module, I got an error:
I believe that the C runtime library (mainly from GCC) is different. So, it can's solve the issue. |
msys2 no longer supports Windows versions lower than 8.1. See this news https://www.msys2.org/news/#2023-01-15-dropping-support-for-windows-7-and-80 |
i686 libs/apps are built against Qt5. Use them if you want to avoid Qt6. |
Even the latest Qt 6.4 can still work on W7. |
And yet, windows 7 is end of life. Ergo, shouldn't really be supported anymore. |
@lazka Is there a provisional timetable for dropping support for later versions of Windows, such as Windows 8.1 and eventually Windows 10? |
Only Microsoft knows 😭 |
I haven't though about that yet. Windows Server 2012 R2 still has (non-ESU) support until October, so we could drop support for 8.1 some time after that, but not sure. No idea re Windows 10. |
Out of curiousity: what specific things does the support provided by Microsoft have to do with building open source apps using an open source compiler toolchain? For the life of me I can't think of any reason other than formality. Especially when the target platform stops being a moving target with their APIs (DLL ABIs and the related header files) not being changed anymore due to the stopped OS development. |
The main thing is availability of public APIs. You can look into the sdkddkver.h and grep all the macros recursively to get an idea about which APIs are disabled/enabled. Though not all programs are affected in the same way. For example, compilers may not use latest Windows APIs. Another thing is Windows versions usage share. If majority of developers and users use Windows 10 and 11, then they may not be interested in fixing issues for Windows 7 or 8. |
Hello, is there a "last working Win 7 snapshot" somewhere? While almost nobody still uses Windows 7, the aviation industry are still using them... heck they even need to use Windows XP on their planes!!! |
but anyway they have their own sofware that fully support an outdated systems. that thing is everywhere |
No no, I mean I need to compile/maintain/update some software in order to run in those totally outdated Windows 7 environment and I couldn't right now! Is there a snapshot I could use? 😢 We shipped them the software ~6 years ago and need to maintain it STILL. However, everything else we work/do has been migrated/updated to work with Windows 10 and the greatest/latest... so we lost the old build environment long time ago. And I have no way of getting it to run in Windows 7, I've tried many different ways in the past whole week without success. |
Found this link on a random Stack Overflow page that's supposed to be the last version for Windows 7 |
But, you shoudln't run |
This installer has only installer and msys2 itself, we need in the full mirror of all packages for Win 8.1/Win 7 (frankly speaking, abandoning of Win 8.1 / Win 7 is complete nuisance, e.g. Ubuntu 16.04 LTS still obtaining patches!). Does anybody know the existing snapshot of all packages required for msys2? I'd prefer to have local mirror, or mirror it to the private cloud. We have A LOT of Win 8.1 notebooks and even Win 7 computers are beautifully working behind firewall, and from time to time we need in msys2 to compile some legacy programs for these computers. E.g. right now I need to install libcurl-devel and pacman simply cannot find packages at the server: |
Windows 7 was released in 2009, while Ubuntu 16.04 was released in |
First of all, MSYS2 dropped support to Win 8.1 too (regular updates stopped January 2023). Secondary, I guess, MSYS2 dropped support of Windows 2012 Servers (that are Win 8.1 based) that finished regular support October 2023. P.S. About Ubuntu 16.04 - all who need can FREELY subscribe (up to 5 computers) to Ubuntu ESM - 10 years of updates. |
Are you talking about Windows 8.1 or Windows 8, 8.1 still supported by MSYS2 (https://www.msys2.org/news/#2023-01-15-dropping-support-for-windows-7-and-80) even It's dropped by MS itself after 10 years of support. No one knows which the latest working snapshot on Windows 7. Many packages stopped working on Windows 7, but MSYS2 did nothing for that. I was packages upstream decision. |
It doesn't matter if Windows 7 or XP is end of life or supported is being officially dropped by Microsoft. The fact is that many things, such as aircraft, still use Windows XP and Windows 7 (yes, you read that right). I am in complete agreement here with @lokapal , it would be nice to get a snapshot of a working MSYS2 environment to be able to build Windows 7. |
@totszwai Will you pay for that, or just want it for free? |
I am not paying for anything, I am just a worker, a grunt grinding out code. There is technically no maintenance involve, I haven't try the following snapshot below yet, but it wouldn't hurt just to keep that particular tag for Windows 7 (if it really work). 👇🏻
|
I wrote above, no one knows when was the latest working snapshot. What you are referring to is the latest working installer on Windows 7. What you're asking for is almost impossible to do. pacman was designed for rolling-release based platforms. |
AFAIK msys2 (unfortunately, I'd say) is based upon Arch Linux' (it's freaking rolling release distro) pacman packet management system. But even Arch has archive! https://wiki.archlinux.org/title/Arch_Linux_Archive with 5 years of history. P.S. MSYS2 WAS the marvelous software collection that permitted me to compile for Windows with full functionality a lot of really complex command-line programs, and it is the MOST important collection for Win 7/8.1 especially, since they don't have something like WSL. |
There was a plan to setup a similar project for archiving MSYS2 packages https://github.com/msys2/msys2-archive but never realized. |
This is regarding mingw packages, so not pacman, bash etc msys packages will remove Windows 7/8 support ~ end of 2022: msys2/MSYS2-packages#2696
Some upstream packages have decided to drop support for Windows 7, and the amount of packages affected will likely increase in the future.
In case upstream removes support we can do multiple things:
As you can see this all means work which we'd rather not do, so we will decide what to do on a package by package basis, also taking into account your feedback and how important a package is.
Likely scenario: Windows 7 support will slowly be phased out during 2022.
The text was updated successfully, but these errors were encountered: