your sgicc line has /usr/lib/cr1.o and /usr/lib/crti.o, hence the duplicate
symbol
-----Original Message-----
From: Michael Madore [mailto:mmadore@xxxxxxxxxxxxxx]
Sent: Friday, February 23, 2001 4:35 PM
To: pro64-support@xxxxxxxxxxx
Subject: Link error building emacs
Hi,
I was attempting to build emacs using the Pro64 compiler instead of gcc. I
am running into the following linking problem:
cd lib-src; make all \
CC='/usr/bin/sgicc' CFLAGS='-g -O' CPPFLAGS='-D_BSD_SOURCE -D_XOPEN_SOURCE
' \
LDFLAGS='' MAKE='make'
make[1]: Entering directory `/usr/src/turbo/BUILD/emacs-20.7/lib-src'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/src/turbo/BUILD/emacs-20.7/lib-src'
cd src; make all \
CC='/usr/bin/sgicc' CFLAGS='-g -O' CPPFLAGS='-D_BSD_SOURCE -D_XOPEN_SOURCE
' \
LDFLAGS='' MAKE='make'
make[1]: Entering directory `/usr/src/turbo/BUILD/emacs-20.7/src'
/usr/bin/sgicc -nostdlib `./prefix-args -Xlinker ` -o temacs pre-crt0.o
/usr/lib/crt1.o /usr/lib/crti.o dispnew.o frame.o scroll.o xdisp.o xmenu.o
window.o charset.o coding.o category.o ccl.o cm.o term.o xfaces.o emacs.o
keyboard.o macros.o keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o
intervals.o textprop.o minibuf.o fileio.o dired.o filemode.o cmds.o
casetab.o casefiddle.o indent.o search.o regex.o undo.o alloc.o data.o doc.o
editfns.o callint.o eval.o floatfns.o fns.o print.o lread.o abbrev.o
syntax.o unexelf.o mocklisp.o bytecode.o process.o callproc.o region-cache.o
doprnt.o strftime.o getloadavg.o terminfo.o lastfile.o vm-limit.o
-lncurses -lm -lc -lgcc /usr/lib/crtn.o
/usr/lib/crt1.o: In function `_start':
/usr/lib/crt1.o(.text+0x0): multiple definition of `_start'
/usr/lib/gcc-lib/ia64-cygnus-linux/2.96-ia64-000717/../../../crt1.o(.text+0x
0): first defined here
/usr/lib/crt1.o(.sdata+0x0): multiple definition of `_IO_stdin_used'
/usr/lib/gcc-lib/ia64-cygnus-linux/2.96-ia64-000717/../../../crt1.o(.sdata+0
x0): first defined here
/usr/lib/crti.o: In function `_init':
/usr/lib/crti.o(.init+0x0): multiple definition of `_init'
/usr/lib/gcc-lib/ia64-cygnus-linux/2.96-ia64-000717/../../../crti.o(.init+0x
0): first defined here
/usr/lib/crti.o: In function `_fini':
/usr/lib/crti.o(.fini+0x0): multiple definition of `_fini'
/usr/lib/gcc-lib/ia64-cygnus-linux/2.96-ia64-000717/../../../crti.o(.fini+0x
0): first defined here
callproc.o: In function `Fcall_process_region':
callproc.o(.text+0x2e32): the use of `mktemp' is dangerous, better use
`mkstemp'
collect2: ld returned 1 exit status
make[1]: *** [temacs] Error 2
make[1]: Leaving directory `/usr/src/turbo/BUILD/emacs-20.7/src'
make: *** [src] Error 2
It looks like it's linking in both the gcc and sgi c-runtimes. Do I need to
specify additional environment variables other than CC=/usr/bin/sgicc?
--
Mike Madore
Software Engineer
TurboLinux, Inc.
|