bug-m4
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IRIX failures [was: next m4 snapshot]


From: Tom G. Christensen
Subject: Re: IRIX failures [was: next m4 snapshot]
Date: Wed, 1 Sep 2010 20:48:35 +0200
User-agent: Mutt/1.4.2.2i

On Wed, Sep 01, 2010 at 08:08:47AM -0600, Eric Blake wrote:
> On 08/31/2010 02:27 PM, Tom G. Christensen wrote:
> >
> >It fails to build with gcc 4.3.1 (and 4.5.0):
> >gcc -std=gnu99  -I.     -g -O2 -MT printf-args.o -MD -MP -MF 
> >.deps/printf-args.Tpo -c -o
> >  printf-args.o printf-args.c
> >In file included from /usr/include/wchar.h:9,
> >                  from ./wchar.h:71,
> >                  from printf-args.h:42,
> >                  from printf-args.c:30:
> >./wctype.h:585: error: static declaration of 'iswblank' follows non-static 
> >declaration
> >gmake[3]: *** [printf-args.o] Error 1
> 
> Definitely something that can be fixed in gnulib.  Can you help figure 
> out where the earlier iswblank declaration was coming from?

Presumably from one of these system headers <internal/wctype_core.h> or
<internal/wchar_core.h> which both contain this:
#if defined(__c99)
extern int      iswblank(wint_t);
#if !defined(_SGI_COMPILING_LIBC)
#pragma optional iswblank
#endif
#endif /* __c99 */

I've uploaded the pre-processed source here:
http://jupiterrise.com/tmp/printf-args.i

It seems that gcc defines __c99 in -std=gnu99 mode:
$ gcc -E -dM -std=gnu99 - < /dev/null|grep c99
#define __c99 1

> Also, that 
> particular declaration at line 585 of wctype.h (line 282 of wctype.in.h) 
> is guarded by:
> 
> #if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@
> #elif ! @HAVE_ISWBLANK@
> 
> So knowing the value of all the HAVE_IS* and REPLACE_IS* from config.log 
> would be useful to help diagnose what is going wrong here.
> 
I've uploaded the config log here:
http://jupiterrise.com/tmp/m4-1.4.14.9-edf2d-irix65-gcc450_config.log

Forcing ac_cv_func_iswblank=yes ends with a linker error confirming that
iswblank really is missing.

> 
> >$ ./test-update-copyright.sh
> >--- -   2010-08-31 22:20:22.990686000 +0200
> >+++ update-copyright.test-ex-stderr     2010-08-31 22:20:22.981772600 +0200
> >@@ -1,2 +1 @@
> >-update-copyright.test-ex.4: warning: FSF copyright statement not found
> >-update-copyright.test-ex.5: warning: FSF copyright statement not found
> >+./test-update-copyright.sh[95]: update-copyright:  not found
> 
> Regex gone wrong somewhere?  Maybe due to an older perl bug?  What 
> version of perl are you using?
> 
It picked up the system perl in /usr/sbin which is 5.004_05.

Rerunning with nekoware perl (5.8.8) first in the path fixes this.

> >
> >$ ./test-vc-list-files-cvs.sh
> >non-numeric argument
> >init.sh: failed test: Cannot create directory 
> >"/usr/people/tgc/tmp/m4-1.4.14.9-edf2d/tests/gt-init.sh.": File exists
> >Cannot create directory "vc-cvs": File exists
> >Cannot create directory "vc-cvs": File exists
> 
> Can you rerun this test as 'sh -vx ./test-vc-list-files-cvs.sh', so we 
> can see which lines are failing?  Again, this test is for a maintainer 
> program, and failure here has no bearing on m4 itself.
> 
Sure but it's still in the testsuite.

It wants to reexec itself with zsh:
+ exec zsh ./test-vc-list-files-cvs.sh --no-reexec
non-numeric argument
init.sh: failed test: Cannot create directory
"/usr/people/tgc/tmp/m4-1.4.14.9-edf2d/tests/gt-init.sh.": File exists
Cannot create directory "vc-cvs": File exists
Cannot create directory "vc-cvs": File exists

$ zsh --version
zsh 4.3.2 (mips-sgi-irix6.5)

bash 3.1.16 is also in the path but is for some reason rejected.
Removing zsh from the PATH causes the test to be skipped because no
adequate shell can be found.

Full output at:
http://jupiterrise.com/tmp/sh_vx_test-vc-list-files-cvs.out

-tgc



reply via email to

[Prev in Thread] Current Thread [Next in Thread]