[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: <stdio.h> is missing in bash-4.0/externs.h
From: |
Alan Hourihane |
Subject: |
Re: <stdio.h> is missing in bash-4.0/externs.h |
Date: |
Sun, 24 May 2009 20:35:32 +0100 |
On Fri, 2009-05-22 at 10:42 -0700, Sergei Steshenko wrote:
>
>
> --- On Fri, 5/22/09, Chet Ramey <chet.ramey@case.edu> wrote:
>
> > From: Chet Ramey <chet.ramey@case.edu>
> > Subject: Re: <stdio.h> is missing in bash-4.0/externs.h
> > To: "Sergei Steshenko" <sergstesh@yahoo.com>
> > Cc: bug-bash@gnu.org, chet.ramey@case.edu
> > Date: Friday, May 22, 2009, 9:14 AM
> > Sergei Steshenko wrote:
> > > Hello,
> > >
> > > because of the following lines:
> > >
> > > grep -n FILE build/bash-4.0/externs.h
> > > 200:extern int fpurge __P((FILE *stream));
> > > 264:extern int sh_setlinebuf __P((FILE *));
> > >
> > > bash-4.0/externs.h
> > >
> > > needs
> > >
> > > #include <stdio.h>
> > >
> > > - this was discovered while building under latest
> > officially released
> > > CYGWIN.
> > >
> > > Under Linux it worked without
> > >
> > > #include <stdio.h>
> > >
> > > ; hope
> > >
> > > #include <stdio.h>
> > >
> > > won't hurt under other OSes.
> >
> > Which file failed to compile as a result of the omission?
> >
> > Chet
> > --
> > ``The lyf so short, the craft so long to lerne.'' -
> > Chaucer
> >
> > Chet Ramey, ITS, CWRU chet@case.edu
> > http://cnswww.cns.cwru.edu/~chet/
> >
>
> I don't remember, and I am not against Windows box at the moment, and
> the compilation was painful not due to 'bash' reasons.
>
> I.e. I'm not sure I'll soon have the time to reproduce the problem, if
> at all.
>
> I think the first file which uses externs.h, but not includes stdio.h.
>
> ...
>
> The files which include externs.h are:
>
> bash-4.0/lib/sh/shmatch.c
> bash-4.0/make_cmd.c
> bash-4.0/input.c:#include "externs.h"
> bash-4.0/alias.c:#include "externs.h"
> bash-4.0/shell.h:#include "externs.h"
> .
>
> Of the above files 'shell.h' doesn't have 'stdio.h' included.
I had the same problem on FreeMiNT. It makes a lot of files stop
compiling just because it doesn't have the FILE * struct defined when it
hits the externs.h code.
Alan.