Someone in libintl world decided it was a good idea to do:
#undef setlocale
#define setlocale libintl_setlocale
That means, of course, that any use of "setlocale" by the
preprocessor now becomes libintl_setlocale which means we
no longer have a _zif_setlocale symbol in string.o, but we
magically have a _zif_libintl_setlocale symbol. The linker
is obviously not very happy about this when basic_functions.o
tries to find _zif_setlocale.
So, let's not do that again.
#endif
#ifdef HAVE_LIBINTL
# include <libintl.h> /* For LC_MESSAGES */
+ #ifdef setlocale
+ # undef setlocale /* Uh, libintl, don't F* our symbols please */
+ #endif
#endif
#include <math.h>