Hi Martin, > -----Original Message----- > From: Martin Storsjö <[email protected]> > Sent: Friday, December 13, 2019 3:18 PM > To: [email protected] > Subject: Re: [Mingw-w64-public] gettext 0.19.8.1 build error with GCC 9.2.0 > > On Fri, 13 Dec 2019, Kacvinsky, Tom wrote: > > > I am trying to compiler gettext 0.19.8.1 on MinGW-w64 (custom build of > > GCC 9.2.0 is being used), and get this error: > > > > gettext-runtime/gnulib-lib/mbsinit.c:32:28: error: invalid operands to > > binary == (have 'mbstate_t' {aka 'const struct _Mbstatet'} and 'int') > > This file in gnulib, embedded in gettext, is incompatible with UCRT. > > The mbstate_t data type used to be defined as a typedef for int, but in UCRT > it's a struct instead, and this breaks the gnulib implementation that treats > it > as a plain int. > > For some reason, gnulib tries to provide its own function mbsinit (which is > used for checking if an mbstate_t is initialized or not), even if one is > provided. > (I guess the reason for this misdetection, is that in UCRT mode, mbsinit is > purely available as an inline function, there's no function available in the > UCRT dll, and the gnulib check might only test linking without using the right > header.) > > Perhaps we should provide a custom mbsinit function in the UCRT import > libraries - that should hopefully make gnulib realize the function exists, and > avoid trying to provide it. >
Thanks. I had filed https://savannah.gnu.org/bugs/?57406 this morning, so maybe this information can be fed into that bug report? I can do it if you want me to. _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
