Hello,

The monetary module is causing a build error on older glibc platforms (e.g. CentOS 5):

depbase=`echo strfmon_l.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -std=gnu99 -DHAVE_CONFIG_H -DEXEEXT=\"\" -DEXEEXT=\"\" -DNO_XMALLOC -DEXEEXT=\"\" -I. -I.. -DGNULIB_STRICT_CHECKING=1 -fvisibility=hidden -g - O2 -MT strfmon_l.o -MD -MP -MF $depbase.Tpo -c -o strfmon_l.o strfmon_l.c &&\
        mv -f $depbase.Tpo $depbase.Po
In file included from strfmon_l.c:20:
./monetary.h:530: error: expected declaration specifiers or '...' before 'locale_t'
./monetary.h:530: error: format string argument not a string type
./monetary.h:530: error: nonnull argument with out-of-range operand number (argument 1, operand 4)
strfmon_l.c:32: error: conflicting types for 'rpl_strfmon_l'
./monetary.h:530: error: previous declaration of 'rpl_strfmon_l' was here
make[4]: *** [strfmon_l.o] Error 1


The issue seems to be that in older glibc versions locale_t is defined in <locale.h> instead of <xlocale.h> (which gets pulled in via <monetary.h>).

-tgc

Reply via email to