Mail Archives: cygwin/2001/11/17/17:12:57
Just remove all occurrences of strerror.[oc] from the Makefile.
cgf
On Sat, Nov 17, 2001 at 09:41:48PM +0000, Guy Harrison wrote:
>On Thu, 15 Nov 2001 12:15:36 -0700, "Joe Graham" <joe AT aiobjects DOT com>
>wrote:
>
>FWIW here's my stab at it...
>
>There should be only one sys_errlist.
>
>>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
>>`sys_errlist
>>/usr/include/sys/errno.h:23: previous declaration of `sys_errlist'
>>make[1]: *** [strerror.o] Error 1
>
>extern __IMPORT const char * const sys_errlist[];
>
>Just about as 'const' as you can get.
>
>>original:
>>static const char **sys_errlist;
>>fix:
>>//static const char **sys_errlist;
>>(commenting out the declaration fixes this)
>
>Declaration here allows you to declare a "creatable" sys_errlist. The
>system one above is effectively saying there already is one.
>
>>********
>>error 2:
>>********
>>in file:
>><gcc_source_directory>/libiberty/strerror.c
>>../../gcc-2.95.3-5/libiberty/strerror.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
>>typ
>>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 ?)
>
>I suspect there's nothing wrong and your fix is horribly broken.
>
>>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)
>
>I've not compiled gcc but methinks there's two effective choices.
>
>1) Compile against already existing 'sys_errlist'.
>2) gcc creates its own 'sys_errlist'.
>
>This is only a guess: you want option (1). Option (2) probably exists
>for "bootstrapping" gcc.
>
>I took a look at strerror.c and the problem code is conditional on
>HAVE_SYSERRLIST - that must be undefined, at least at that point,
>otherwise the problem would not have arisen. You need to discover why
>(config.h - configure).
>
>
>--
>swamp-dog AT ntlworld DOT com
>
>--
>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/
--
cgf AT redhat DOT com Red Hat, Inc.
http://sources.redhat.com/ http://www.redhat.com/
--
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/
- Raw text -