merworth@ut-ngp.UUCP (07/11/86)
First, thanks to everyone who responded to my posting about
the complex arithmetic problem. I added the -lm flag to include
the math library. Now I have a new set of problems with the
same program. At first I thought it was due to the fact that
the CC script allowed a command line of the form (which it should):
CC test.c -lC -lm
but when passed to cc, the -lC flag was added again.
cc test..c -lC -lm -lC
But I modified the CC script to not include any libraries as default.
Either way, I get the same error messages.
My command line: CC test.c -lC -lm
CC test.c:
cc test..c -lC -lm
__ctors: ld:__ctdt.o: multiply defined
__dtors: __ctdt.o: multiply defined
Please excuse me if I am just overlooking something obvious. If I take
the test.o file and load it manually, I get an executable file but it
gives a "Bus error core dump" when executed.
ld -X /lib/crt0.o test.o -lC -lm -lc
Thanks for any help.
--
Boyd Merworth
The University of Texas at Austin, Computation Center, Austin, TX 78712
merworth@ngp.cc.utexas.edu {ihnp4,allegra,ut-sally}!ut-ngp!merworth
{seismo}!ut-sally!merworthkana@patty.UUCP (07/15/86)
> My command line: CC test.c -lC -lm > > CC test.c: > cc test..c -lC -lm > __ctors: ld:__ctdt.o: multiply defined > __dtors: __ctdt.o: multiply defined I found that CC executes the following commands: /lib/cpp -C -I/usr/include/CC test.c | cfront +L +ftest.c > test..c cc -c test..c -lC -lm mv test..o test.o cc test.o -lC -lm -lC nm a.out | munch > __ctdt.c cc -c __ctdt.c cc test.o -lC -lm __ctdt.o -lC If the last line is cc test.o __ctdt.o -lC -lm -lC we can get a correct executable a.out. I am using the following command, because I don't dare to rewrite CC. From sh: LIBRARY="-lC -lm" CC test.c From csh: setenv LIBRARY "-lC -lm" CC test.c -- Katsumi Kanasaki Software Research Center, Ricoh Co., Ltd. PHONE: (03)815-7261 JUNET: kana@charlie.ricoh.junet UUCP: ...!{hplabs,mcvax}!kddlab!titcca!koccvax!kossvax!patty!charlie!kana