This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: gcc-2.95.3-5 on cygwin compilation problem
El jue, 15 nov 2001, escribiste:
> Hello
> I ran into the following 2 problems when trying to build gcc-2.95.3-5 on
> cygwin and gcc-3.0. Both gave me the same problems in the same file. Below
> is how i got it to compile but I sure my implementation is probably wrong.
> Here goes.
> ********
> error 1:
> ********
> in file:
> <gcc_source_directory>/libiberty/strerror.c
> ../../gcc-2.95.3-5/libiberty/strerror.c:464: conflicting types for
> r`sys_errlist
> /usr/include/sys/errno.h:23: previous declaration of `sys_errlist'
> make[1]: *** [strerror.o] Error 1
As i see it u declared something that is declared in some other place, the
solution is:
Change the name of the duplicate identifier
> <gcc_source_directory>/libiberty/strerror.c
> ../../gcc-2.95.3-5/libiberty/strerror.c
> c../../gcc-2.95.3-5/libiberty/strerror.c: In function `init_error_tables':
> ../../gcc-2.95.3-5/libiberty/strerror.c:546: `sys_errlist' has an incomplete
> Etyp
> e
> original:
> if ((sys_errlist = (const char **) malloc (nbytes)) != NULL)
> fix:
> if ((sys_errlist[eip->value] = (const char **) malloc (nbytes)) !=
> NULL)
> (does this need to be eip->name ?)
>
> here's the diff
> 464c464
> < //static const char **sys_errlist;
> ---
> > static const char **sys_errlist;
> 546c546
> < if ((sys_errlist[eip->value] = (const char **) malloc (nbytes)) !=
> NULL)
>
> ---
> > if ((sys_errlist = (const char **) malloc (nbytes)) != NULL)
>
>
> --
Actually this one is hard ( I've used to Borland C++ so the error messages of
gcc are new for me) but I think that commanting out sys_errlist produced this,
you should check where else is sys_errlist declared (use grep an a lot of
pacience.
That's my best
--
Jade
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/