Mingw-packages: Applications linked with winpthread can not be run on Windows XP

Created on 3 Apr 2019  路  11Comments  路  Source: msys2/MINGW-packages

An application linked with winpthread fails to start on Windows XP due to missing GetTickCount64() function in kernel32.dll. This function in available only starting from Vista. The dependency seems to come from this commit in winpthread. The use of GetTickCount64() is surrounded by #if _WIN32_WINNT >= _WIN32_WINNT_VISTA, but apparently the library was built with a high enough value of _WIN32_WINNT.

Do you still support building software for Windows XP? I did not found anything about supported target platforms on the website and wiki.

Most helpful comment

I downgraded mingw-w64-i686-libwinpthread-git and mingw-w64-i686-winpthreads-git to 7.0.0.5273.3e5acf5d-1 according to instructions in wiki and it seems to work. At least for now.

Just leaving here a few commands for that in case someone will search:

wget http://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-git-7.0.0.5273.3e5acf5d-1-any.pkg.tar.xz
wget http://repo.msys2.org/mingw/i686/mingw-w64-i686-winpthreads-git-7.0.0.5273.3e5acf5d-1-any.pkg.tar.xz

pacman -U --noconfirm mingw-w64-i686-libwinpthread-git-7.0.0.5273.3e5acf5d-1-any.pkg.tar.xz mingw-w64-i686-winpthreads-git-7.0.0.5273.3e5acf5d-1-any.pkg.tar.xz

rm mingw-w64-i686-libwinpthread-git-7.0.0.5273.3e5acf5d-1-any.pkg.tar.xz
rm mingw-w64-i686-winpthreads-git-7.0.0.5273.3e5acf5d-1-any.pkg.tar.xz

All 11 comments

That line comes from 6665c4fe22989f157c31db3a6fbc5a7d19c5674e. So, does that mean that building for Windows XP is no longer supported? Can i rebuild winpthread locally, or will i need to rebuild other libs too?

Hard to tell, theoretically anything linked to libs build for Win7 may not work on XP.

I downgraded mingw-w64-i686-libwinpthread-git and mingw-w64-i686-winpthreads-git to 7.0.0.5273.3e5acf5d-1 according to instructions in wiki and it seems to work. At least for now.

@vovams : developers of winpthread and other runtime libraries bumped the minimum supported OS version to Windows 7 time ago because they want to take advantage of new APIs. This is not going to change. And MSYS2/Cygwin do not support Windows XP any more.

If this answer your question please close this issue. Thanks.

Yeah, thanks. You might want to consider writing a list of supported Windows versions somewhere. Because i was unable to find that information.

You might want to consider touching up your googling skills. http://www.msys2.org/ clearly states this.

Supporting insecure OSes does no one a favor.

If you are talking about this phrase:

Current MSYS2 can't be installed on Windows XP anymore.

Then i have seen this. Being able to build on XP and being able to build for XP are different things. I would not call it "clearly".

I downgraded mingw-w64-i686-libwinpthread-git and mingw-w64-i686-winpthreads-git to 7.0.0.5273.3e5acf5d-1 according to instructions in wiki and it seems to work. At least for now.

Just leaving here a few commands for that in case someone will search:

wget http://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-git-7.0.0.5273.3e5acf5d-1-any.pkg.tar.xz
wget http://repo.msys2.org/mingw/i686/mingw-w64-i686-winpthreads-git-7.0.0.5273.3e5acf5d-1-any.pkg.tar.xz

pacman -U --noconfirm mingw-w64-i686-libwinpthread-git-7.0.0.5273.3e5acf5d-1-any.pkg.tar.xz mingw-w64-i686-winpthreads-git-7.0.0.5273.3e5acf5d-1-any.pkg.tar.xz

rm mingw-w64-i686-libwinpthread-git-7.0.0.5273.3e5acf5d-1-any.pkg.tar.xz
rm mingw-w64-i686-winpthreads-git-7.0.0.5273.3e5acf5d-1-any.pkg.tar.xz

What about InitializeConditionVariable error !?
How to solve this !?

Supporting insecure OSes does no one a favor.

Except when one have to maintain legacy systems still running on such an OS.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

MenaceInc picture MenaceInc  路  6Comments

HolyBlackCat picture HolyBlackCat  路  4Comments

Ralayax picture Ralayax  路  7Comments

omichel picture omichel  路  4Comments

Ede123 picture Ede123  路  7Comments