Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cwjcc!gatech!ncar!boulder!gore!jacob From: jacob@gore.com (Jacob Gore) Newsgroups: gnu.bash.bug Subject: Re: For the NeXT Message-ID: <30005@gore.com> Date: 26 Sep 89 16:54:08 GMT References: <8909261526.AA18148@ouareau.IRO.UMontreal.CA> Reply-To: jacob@gore.com (Jacob Gore) Organization: Gore Enterprises Lines: 30 / gnu.bash.bug / laplante@iro.umontreal.ca (Pierre Laplante) / Sep 26, 1989 / > I have the following error when compiling on a NeXT running mach 0.9. > > Script started on Tue Sep 26 11:30:13 1989 > habitant> make > cc -g -Bstatic -o bash shell.o y.tab.o general.o make_cmd.o print_cmd.o > dispose_cmd.o execute_cmd.o variables.o builtins.o copy_cmd.o flags.o > jobs.o subst.o glob.o hash.o mailcheck.o test.o trap.o alias.o > alloc-files/malloc.o braces.o unwind_prot.o bashline.o version.o > readline/libreadline.a /usr/lib/libtermcap.a > ld: multiple definitions of symbol _realloc > ld: multiple definitions of symbol _malloc > ld: multiple definitions of symbol _free > Undefined symbols: > lmodt > lmult > ldivt NeXT's cc, by default, links with the shared library /lib/libsys_s.a, and the loader does not allow symbols in .o files to overrule those in shared libraries (in 0.9, anyway -- I don't know about 1.0 yet). Using /lib/libc.a instead should get rid of the "multiple definitions" problem. I don't know about the undefined symbols. I just use the version of malloc in the shared library (just set MALLOC and MALLOC_FLAGS to nothing in the Makefile). Jacob -- Jacob Gore Jacob@Gore.Com boulder!gore!jacob