On Thu, Jan 15, 2009 at 12:27:36AM +0100, Bruno Haible wrote: > > This causes a problem on HP-UX 11.00 because <wchar.h> is included more > > than once. > > $ ./gnulib-tool --create-testdir --dir=t arpa_inet crypto/md5 \ > > environ filemode fnmatch fnmatch-gnu getdate gettext glob human \ > > iconv_open inet_pton lstat mbswidth memmem mktime modechange poll \ > > regex socklen strcase strftime strptime strtok_r vsnprintf \ > > vsnprintf-posix wcwidth > > $ cd t > > $ ./configure > > $ gmake > > ... > > cc -DHAVE_CONFIG_H -I. -I.. -I../intl -g -c -o btowc.o btowc.c > > cc: "wchar.h", line 124: error 1000: Unexpected symbol: "btowc". > > cc: panic 2017: Cannot recover from earlier errors, terminating. > > gmake[4]: *** [btowc.o] Error 1 > > > > $ cd gllib > > > > $ cc -DHAVE_CONFIG_H -I. -I.. -I../intl -g -E btowc.c | grep wchar.h > > # 1 "./wchar.h" > > # 49 "./wchar.h" > > # 50 "./wchar.h" > > # 51 "./wchar.h" > > # 1 "///usr/include/wchar.h" > > # 33 "///usr/include/wchar.h" > > # 1 "./wchar.h" > > # 49 "./wchar.h" > > # 50 "./wchar.h" > > # 51 "./wchar.h" > > # 1 "///usr/include/wchar.h" > > # 57 "./wchar.h" > > # 1 "./wchar.h" > > # 42 "///usr/include/wchar.h" > > # 57 "./wchar.h" > > I reproduce. But I needed to look at the entire preprocessed output in order > to understand what happens. Fixed as follows: > > [ snip snip ]
Thanks. I can confirm the fix for HP-UX. Looks like I missed another platform where this is a problem, IRIX. Using the same gnulib-tool invocation as on HP-UX: $ ./gnulib-tool --create-testdir --dir=t arpa_inet crypto/md5 \ environ filemode fnmatch fnmatch-gnu getdate gettext glob human \ iconv_open inet_pton lstat mbswidth memmem mktime modechange poll \ regex socklen strcase strftime strptime strtok_r vsnprintf \ vsnprintf-posix wcwidth $ cd t $ ./configure $ gmake ... cc -DHAVE_CONFIG_H -I. -I.. -I../intl -g -c -o getdate.o getdate.c cc-1020 cc: ERROR File = ./wchar.h, Line = 258 The identifier "mbstate_t" is undefined. extern size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps); ^ cc-3425 cc: WARNING File = /usr/include/internal/wchar_core.h, Line = 425 pragma usage is incorrect as it expects a function or variable name #pragma optional wcrtomb ^ 1 error detected in the compilation of "getdate.c". gmake[2]: *** [getdate.o] Error 2 $ cd gllib $ cc -DHAVE_CONFIG_H -I. -I.. -I../intl -g -E getdate.c | \ grep mbstate_t | head -2 extern size_t rpl_wcrtomb (char *s, wchar_t wc, mbstate_t *ps); typedef char mbstate_t; How about adding something like "|| (defined __sgi && defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)" to your patch? -- albert chin (ch...@thewrittenword.com)