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