The logs show that the autoconf test for strtok_r fails in an unexpected way:
checking whether strtok_r works... no "conftest.c", line 745.2: 1506-766 (S) The universal character name "�" is not in the allowable range for an identifier. "conftest.c", line 745.5: 1506-766 (S) The universal character name "�" is not in the allowable range for an identifier. "conftest.c", line 745.8: 1506-766 (S) The universal character name "�" is not in the allowable range for an identifier. "conftest.c", line 745.11: 1506-766 (S) The universal character name "�" is not in the allowable range for an identifier. "conftest.c", line 745.14: 1506-766 (S) The universal character name "�" is not in the allowable range for an identifier. "conftest.c", line 745.18: 1506-766 (S) The universal character name "�" is not in the allowable range for an identifier. "conftest.c", line 745.5: 1506-277 (S) Syntax error: possible missing ';' or ','? "conftest.c", line 745.2: 1506-045 (S) Undeclared identifier \u00c2\u00a0. The referenced line in the test program is this: char *save_ptr = (char *) 0xd0d0; It looks like a compiler bug to me. I'm committing this tentative workaround: 2010-07-30 Bruno Haible <br...@clisp.org> strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler. * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to a 'char *'. Reported by Rainer Tammer. --- m4/strtok_r.m4.orig Fri Jul 30 21:23:04 2010 +++ m4/strtok_r.m4 Fri Jul 30 12:51:05 2010 @@ -1,4 +1,4 @@ -# strtok_r.m4 serial 10 +# strtok_r.m4 serial 11 dnl Copyright (C) 2002-2004, 2006-2007, 2009-2010 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation @@ -30,8 +30,9 @@ #include <stdlib.h> #include <string.h> ]], - [[char delimiters[] = "xxxxxxxx"; - char *save_ptr = (char *) 0xd0d0; + [[static const char dummy[] = "\177\01a"; + char delimiters[] = "xxxxxxxx"; + char *save_ptr = (char *) dummy; strtok_r (delimiters, "x", &save_ptr); strtok_r (NULL, "x", &save_ptr); return 0;