Message-Id: <200007290619.JAA10412@mailgw1.netvision.net.il> Date: Sat, 29 Jul 2000 09:18:32 +0200 To: Bob McGowan X-Mailer: Emacs 20.6 (via feedmail 8.2.emacs20_6 I) and Blat ver 1.8.5b From: "Eli Zaretskii" CC: djgpp AT delorie DOT com In-reply-to: <3982099F.4EE7D216@veritas.com> (message from Bob McGowan on Fri, 28 Jul 2000 15:30:55 -0700) Subject: Re: Cross-compiler questions, re errors References: <3982099F DOT 4EE7D216 AT veritas DOT com> Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Date: Fri, 28 Jul 2000 15:30:55 -0700 > From: Bob McGowan > > Then there are two compile errors relating to header files. These are > the files I made available in /usr/local/i586-pc-msdosdjgpp/include per > the instructions (except I just copied them there rather than making > symbolic links). The errors were previous declaration of _sizt_t and > _wchar_t symbols. This is a known issue with current versions of GCC: it uses its own headers during the build process which define data types, such as size_t and wchar_t, in a way that conflicts with DJGPP headers' definitions of these very data types. The solution is to hack one of these headers so that only one typedef is seen by the compiler. > (I've tried commenting > out the two __DJ_... items, and that got rid of the errors, but I had > other errors of similar nature latter and don't want make more "blind" > changes). You can try conditioning the typedefs in GCC's headers by things like this: #ifndef __DJ_size_t ... the GCC typedef here ... #endif If you look closer at sys/djtypes.h, you will see that these __DJ_* symbols are designed to be guards against multiple typedefs. Simply use them in the headers which come with GCC distribution.