Watcom Linker undefined reference symbol multiple starting addresses found



  • Hallo,

    Ich benutze Open Watcom 11c und versuche Ghostscript 7.20 zu kompilieren.
    Das Problem: Es muss nicht nur Ghostscript kompiliert werden. Der Programmierer vor mir hat noch andere Quelltexte hinzugefügt. Leider habe ich keinen Kontakt mehr zu dem Programmierer.
    Der Quelltext wurd zum Glück "sauber" kompiliert, d.h. die OBJ Dateien werden alle erzeugt.

    Jedenfalls bekomme ich beim maken folgende Fehlermeldungen:
    ###############################################################################

    C:\gs7.20>wmake -u -f cj.mak

    Watcom Make Version 11.0c
    Copyright by Sybase, Inc., and its subsidiaries, 1988, 2002.
    All rights reserved. Watcom is a trademark of Sybase, Inc.
    echo OPTION STUB=c:\watcom\.\binnt\wstub.exe >_temp_.tr
    echo OPTION STACK=8k >>_temp_.tr
    echo LIBRARY c:\watcom\.\lib386\dos\emu387 >>_temp_.tr
    echo LIBRARY c:\watcom\.\lib386\dos\clib3s >>_temp_.tr
    echo LIBRARY c:\watcom\.\lib386\math387s >>_temp_.tr
    echo LIBRARY c:\watcom\.\lib386\DOS\graph >>_temp_.tr
    echo LIBRARY c:\watcom\.\lib386\math387r >>_temp_.tr
    c:\watcom\.\binnt\wlink DEBUG LINES @obj\gdevcj.tr @_temp_.tr
    WATCOM Linker Version 11.0c
    Copyright by Sybase, Inc., and its subsidiaries, 1985, 2002.
    All rights reserved. Watcom is a trademark of Sybase, Inc.
    loading object files
    Warning! W1027: file obj\gsmisc.obj(C:\gs7.20\src\gsmisc.c): redefinition of gs_
    stdio ignored
    searching libraries
    Warning! W1008: cannot open graph.lib : No such file or directory
    Error! E2028: outwrite is an undefined reference
    Error! E2028: errwrite is an undefined reference
    Error! E2028: errflush is an undefined reference
    creating map file
    creating a Windows NT character-mode executable
    file obj\gsmisc.obj(C:\gs7.20\src\gsmisc.c): undefined symbol outwrite
    file obj\gsmisc.obj(C:\gs7.20\src\gsmisc.c): undefined symbol errwrite
    file obj\gsmisc.obj(C:\gs7.20\src\gsmisc.c): undefined symbol errflush
    Error(E42): Last command making (utils.exe) returned a bad status
    Error(E02): Make execution terminated
    ###############################################################################

    Frage: muss ich noch eine Lib mit angeben ? (welche)

    Die Fehlermeldungen:
    Error! E2028: outwrite is an undefined reference
    Error! E2028: errwrite is an undefined reference
    Error! E2028: errflush is an undefined reference
    ...undefined reference... verschwinden, wenn ich beim Linken
    LIBRARY c:\watcom\.\lib386\dos\clib3s mit angebe, allerdings kommt dann gleich das nächste Problem:
    ###############################################################################
    C:\gs7.20>wmake -u -f cj.mak
    Watcom Make Version 11.0c
    Copyright by Sybase, Inc., and its subsidiaries, 1988, 2002.
    All rights reserved. Watcom is a trademark of Sybase, Inc.
    echo OPTION STUB=c:\watcom\.\binnt\wstub.exe >_temp_.tr
    echo OPTION STACK=8k >>_temp_.tr
    echo LIBRARY c:\watcom\.\lib386\dos\emu387 >>_temp_.tr
    echo LIBRARY c:\watcom\.\lib386\dos\clib3r >>_temp_.tr
    echo LIBRARY c:\watcom\.\lib386\dos\clib3s >>_temp_.tr
    echo LIBRARY c:\watcom\.\lib386\math387s >>_temp_.tr
    echo LIBRARY c:\watcom\.\lib386\DOS\graph >>_temp_.tr
    echo LIBRARY c:\watcom\.\lib386\math387r >>_temp_.tr
    c:\watcom\.\binnt\wlink DEBUG LINES @obj\gdevcj.tr @_temp_.tr
    WATCOM Linker Version 11.0c
    Copyright by Sybase, Inc., and its subsidiaries, 1985, 2002.
    All rights reserved. Watcom is a trademark of Sybase, Inc.
    loading object files
    Warning! W1027: file obj\gsmisc.obj(C:\gs7.20\src\gsmisc.c): redefinition of gs_
    stdio ignored
    searching libraries
    Warning! W1008: cannot open graph.lib : No such file or directory
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3s.lib(cstart): redefinition of
    ___begtext ignored
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3s.lib(cstart): redefinition of
    __nullarea ignored
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3s.lib(cstart): redefinition of
    __GDAptr ignored
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3s.lib(cstart): redefinition of
    D16Infoseg ignored
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3s.lib(cstart): redefinition of
    __x386_zero_base_selector ignored
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3s.lib(cstart): redefinition of
    _cstart_ ignored
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3s.lib(cstart): redefinition of
    __do_exit_with_msg
    ignored
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3s.lib(cstart): redefinition of
    __GETDS ignored
    Error! E2030: file c:\watcom\.\lib386\dos\clib3s.lib(cstart): multiple starting
    addresses found
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3r.lib(crwdata): redefinition of
    __X32VM ignored
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3r.lib(crwdata): redefinition of
    __x386_stacklow ignored
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3r.lib(crwdata): redefinition of
    __ASTACKSIZ ignored
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3r.lib(crwdata): redefinition of
    __ASTACKPTR ignored
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3r.lib(crwdata): redefinition of
    __no87 ignored
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3r.lib(crwdata): redefinition of
    __FPE_handler ignored
    Warning! W1027: file c:\watcom\.\lib386\dos\clib3r.lib(crwdata): redefinition of
    ___FPE_handler ignored
    Error(E42): Last command making (utils.exe) returned a bad status
    Error(E02): Make execution terminated
    ###############################################################################
    ... also
    Error! E2030: file c:\watcom\.\lib386\dos\clib3s.lib(cstart): multiple starting
    addresses found

    Wie bekomme ich das mit den "multiple starting addresses found" in den Griff?

    Ich bin für jeden Hinweis dankbar

    mfg
    mit freundlichen Grüßen



  • Nimm fuer Libraries oder Programme aus dem GNU-Projekt am besten den GCC ( siehe http://gcc.gnu.org ).

    Weiss nicht, ob die Configure-Scripts mit dem Watcom C++ Compiler zurecht kommen.

    Pakete wie Ghostscript ( http://www.cs.wisc.edu/~ghost/ ) sind oft von vielen weiteren GNU Paketen abhaengig, die Du auch compilieren und in die richtigen Pfade stellen musst, damit das configure-Script sie findet.


Anmelden zum Antworten