www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/08/20/09:28:11

Date: Fri, 20 Aug 93 08:50:16 EDT
From: jcrigler AT polaris DOT orl DOT mmc DOT com (Jim Crigler)
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: gcc reports duplicate symbols

David J Camp <david AT campfire DOT stl DOT mo DOT us> wrote this:

: When I compile a particular program, I get the following messages.
: As far as I can tell, my program is not defining any of these
: symbols.  I noticed that some of these are defined in more than one
: of the libraries provided with gcc.  Please help.  -David-
: 
: c:\tmp/ccg00073(.text+0): multiple definition of `bzero (.text)'
: c:\tmp/ccf00073(.text+0): first seen here
: c:\tmp/ccg00073(.text+1e): multiple definition of `bcopy (.text)'
: c:\tmp/ccf00073(.text+1e): first seen here
: c:\tmp/ccg00073(.text+40): multiple definition of `bcmp (.text)'
: c:\tmp/ccf00073(.text+40): first seen here
[etc. deleted]

I had this problem when compiling vile 3.56 or 3.57.  Paul Fox
(pgf AT cayman DOT com), the vile developer, put me in touch with Tuan Dang
(dang AT cogit DOT ign DOT fr) who did the djgpp port of vile.  The answer, which
was corrected in vile 3.58 and 3.59, was that the symbol `USG' came out
of vile's estruct.h file #define'd.  (In fact, it was `#define USG 0'. 
This is in keeping with the vile sources' way of keeping track of the
current compilation parameters: the active system's stuff is #define'd
to 1 and all other systems are #define'd to 0.) Then, when <std.h> is
#included from c:\djgpp\include, it tests `#ifdef USG' and not
`#if USG'.  The solution, of course was to `#undef USG' and then never
#define it afterwards.  There may have been other preprocessor
conditionals to fix, but the solution is pretty easy.

Jim Crigler
------------------------------------------------------------------------
Investigative reporters have discovered that the U.  S.  government has
secretly developed near-light-speed space travel, and is currently
sending philological emmisaries throughout the near sectors of the
galaxy to teach (American) English to all the species they find.  It is
expected that their mission will be complete by the mid-23rd century.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019