Building zstd on WinXP with MinGW
- Dominant language
- C
- Stars
- 27.9k
- Forks
- 2.6k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 8
Description
I tried to build zstd on WinXP using MinGW-W64 7.3.0. After minor changes in CMakeLists everything seemed to be fine. But when I tried to run zstd.exe, it silently crashed. After some investigation I found out that kernel32.dll lacks InitializeConditionVariable() and three other functions related to condition variables. These functions are supported on Vista or higher. Because XP is obsolete, I do not expect a sophisticated solution, but a simple warning when zstd is built on XP would be nice.
BTW. In case of MinGW and XP thread safety is quite simple to achive – one should switch to pthreads by modyfying one line in threading.[ch]:
`#if defined(ZSTD_MULTITHREAD) && defined(_WIN32)`
to
`#if defined(ZSTD_MULTITHREAD) && defined(_WIN32) && !defined(__MINGW32__)`
Contributor guide
Assessment
This issue has not been assessed yet.