Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!unido!pemcom!alfred From: alfred@pemcom.pem-stuttgart.de (Alfred Koebler) Newsgroups: comp.unix.xenix.sco Subject: Re: Problems with Slibcfp.a Message-ID: <1108@pemcom.pem-stuttgart.de> Date: 21 Feb 91 13:34:20 GMT References: <5011@vela.acs.oakland.edu> Organization: PEM GmbH, Stuttgart Lines: 47 srodawa@vela.acs.oakland.edu (Ron Srodawa) writes: >I am trying to compile dvips for Xenix/386 using the gcc compiler. >I got errors out of ld in /lib/386/Slibcfp.a as follows: >Three symbols are defined more than once. They are: > _atof in (atof.c) > _fltrd in (atof.c) > __doprnt in (doprnt.c) We had the same problem with double defined symbol __doprnt a half year ago. It is caused by Slibc.a and Slibcfp.a In both libraries is the __doprnt symbol defined. It's source file is doprnt.c Only in the source file for Slibcfp.a is the symbol __rlprint defined. In our case the linker searched first for __doprnt. He used Slibc.a Then he needs the symbol __rlprint and uses Slibcfp.a In this moment the error of symbols defined more than once occurs. I got this info with the system utility "nm". It shows the symbols of the library. To solve this problem, the linker had always to use Slibcfp.a Therefore I wrote the following little C-programm: extern _rlprint; __emergency__() { int i; i = __rlprint; } I compiled the programm with "cc -c emergency.c" Then I always link the emergency.o file before all user files. We haven't problems with symbols from atof.c I think it would be the same problem. Nice to hear from you Alfred -- koebler@PEM-Stuttgart.de Alfred Koebler PEM Programmentwicklungsgesellschaft Vaihinger Str.49, PostBox 810165 fuer Microcomputer mbH FRG 7000 Stuttgart 80 voice: +49-711-713045 fax: +49-711-713047