Mail Archives: djgpp/2006/06/05/05:32:29
Jean-Pierre Le Rouzic <jean_contatenated_with_pierre .dot_lerouzic_ AT at_wanadoo .fr> wrote:
> "multiple definition of `_environ'"
> I know that means that the symbol environ is used two times,
That you know incorrectly. That error message means exactly what it
says: you have multiple *definitions* of that symbol, not multiple
uses.
> but it is not the case in the full sources of Freedos32.
Are you sure you also checked all #included headers, too?
> In fact it is used one time, but even when I add an "extern" to the
> definition there is always the same message.
That's because you didn't find "the" definition. You found one of
them.
> If I understand the error message, the original definition of
> "environ" seems to be in boot.c, but it is not there.
It's almost certainly not there, but in some header file. The reason for
this kind of error is invariably one of two possibilities:
1) straight forward conflict between independent sources (e.g. the
DJGPP libc and the freedos kernel), both defining a symbol with the
same name.
2) bad header files, containing definitions when they should only hold
declarations.
--
Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de)
Even if all the snow were burnt, ashes would remain.
- Raw text -