facebook / facebook/zstd

Building zstd on WinXP with MinGW

Open
#1,811 9 comments 4 reactions 1 assignee Claimed by @Cyan4973 View on GitHub
Portability
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.