On Thu, Nov 18, 2021 at 09:38:00PM -0800, Carlo Arenas wrote: > On Thu, Nov 18, 2021 at 1:05 AM Mike Hommey <mh@xxxxxxxxxxxx> wrote: > > Oh my bad, I overlooked an important part of the build log: it was a > > mingw32 build, not minwg64. Mingw64 builds fine without > > -D_POSIX_THREAD_SAFE_FUNCTIONS=200112L. Mingw32 requires it (because > > the ifdefs are for mingw64) > > Can you confirm the version of the winpthread library in your SDK? and > output of your headers, or something that could back up that statement > of "ifdefs are for mingw64"?. The ifdef around gmtime_r and localtime_r in mingw.h is for __MINGW64_VERSION_MAJOR. The ifdef around _POSIX_C_SOURCE in git-compat-util.h is for __MINGW64__. I'd imagine that plays a role. winpthreads version on my system is 9.0.0.6246.ae63cde27-1. The /mingw32/i686-w64-mingw32/include/time.h section related to gtime_r and localtime_r starts with: ``` #if defined(_POSIX_C_SOURCE) && !defined(_POSIX_THREAD_SAFE_FUNCTIONS) #define _POSIX_THREAD_SAFE_FUNCTIONS 200112L #endif #ifdef _POSIX_THREAD_SAFE_FUNCTIONS __forceinline struct tm *__CRTDECL localtime_r(const time_t *_Time, struct tm *_Tm) { return localtime_s(_Tm, _Time) ? NULL : _Tm; } __forceinline struct tm *__CRTDECL gmtime_r(const time_t *_Time, struct tm *_Tm) { return gmtime_s(_Tm, _Time) ? NULL : _Tm; } ``` Mike