From: Richard Dawe Newsgroups: comp.os.msdos.djgpp Subject: Re: Header problem when upgrading CVS djgpp. Date: Fri, 14 Jun 2002 10:41:55 +0100 Lines: 48 Message-ID: <3D09BA63.F41B420F@phekda.freeserve.co.uk> References: NNTP-Posting-Host: modem-87.dexfenfluramine.dialup.pol.co.uk Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: newsg4.svr.pol.co.uk 1024048288 29007 62.136.89.215 (14 Jun 2002 09:51:28 GMT) NNTP-Posting-Date: 14 Jun 2002 09:51:28 GMT X-Complaints-To: abuse AT theplanet DOT net X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.19 i586) X-Accept-Language: de,fr To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hello. Rob Kramer wrote: > I tried to upgrade my cross building environment to the latest DJGPP version > in CVS. To do so, I: > > - Compiled djgpp, did mkdist, unzipped -a djcrx.zip to a tmp dir. > - Copied -rp tmp/include/* to /opt/djgpp/i586-pc-msdosdjgpp/include > - Copied -rp tmp/lib/* to /opt/djgpp/i586-pc-msdosdjgpp/lib > > But I guess this isn't the right way to do it, since now I get redefinition > warnings: > > gcc -c -gstabs+ -march=i486 -mcpu=pentium -O2 -W -Wall -Wno-unused > -Wno-parentheses -mpreferred-stack-boundary=2 -I.. -I. -I../../include > -o../obj/mndraw.o mndraw.c > In file included from ../../include/allegro/base.h:27, > from ../../include/allegro4.h:27, > from ../mn/mnsystem.h:25, > from mnsbitmap.h:36, > from mndraw.c:34: > /opt/djgpp/lib/gcc-lib/i586-pc-msdosdjgpp/2.95.3/include/stdarg.h:18: > warning: redefinition of `va_list' > /opt/djgpp/lib/gcc-lib/i586-pc-msdosdjgpp/2.95.3/../../../../i586-pc-msdosdjgpp/include/stdio.h:37: > warning: `va_list' previously declared here > > And ditto for size_t and others. > FYI, allegro/base.h contains '#include ', but why does it pick > /opt/djgpp/lib/gcc-lib/i586-pc-msdosdjgpp/2.95.3/include/stdarg.h > over /opt/djgpp/i586-pc-msdosdjgpp/include/stdarg.h ? [snip] I believe that gcc has its own header files, to provide certain things that are not available in the libc headers. In particular it may use its built-in support for memcpy, va_lists, etc. in preference to the support in the libc. gcc's header files should include the libc header file. In the message above, it hasn't picked one of the files over the other. It's actually including both, but their definitions disagree. I thought this may be because djdev203.zip had been refreshed to cope with Windows 2000 and djcrx203.zip had not, so the headers may have been different. But it appears that they agree. So I don't know what the above problem is. Regards, -- Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]