delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm |
List-Subscribe: | <mailto:cygwin-subscribe AT sources DOT redhat DOT com> |
List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
List-Post: | <mailto:cygwin AT sources DOT redhat DOT com> |
List-Help: | <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs> |
Sender: | cygwin-owner AT sources DOT redhat DOT com |
Delivered-To: | mailing list cygwin AT sources DOT redhat DOT com |
From: | swamp-dog AT ntlworld DOT com (Guy Harrison) |
To: | <cygwin AT cygwin DOT com> |
Subject: | Re: gcc-2.95.3-5 on cygwin compilation problem |
Date: | Sat, 17 Nov 2001 21:41:48 GMT |
Reply-To: | swamp-dog AT ntlworld DOT com |
Message-ID: | <3bfad34b.1447511@smtp.swampdog> |
References: | <DDENLHEIANHJBHNBDPBCMEFKCKAA DOT joe AT aiobjects DOT com> |
In-Reply-To: | <DDENLHEIANHJBHNBDPBCMEFKCKAA.joe@aiobjects.com> |
X-Mailer: | Forte Agent 1.5/32.451 |
MIME-Version: | 1.0 |
X-MIME-Autoconverted: | from quoted-printable to 8bit by delorie.com id fAHLmQO04174 |
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/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |