Subject: This is so weird... "shared object crtend.o not found"
To: None <current-users@netbsd.org>
From: Peter Seebach <seebs@plethora.net>
List: current-users
Date: 11/11/2002 02:23:05
I'm trying to build a Z-machine interpreter which is still a little
rough around the edges in the build process.

Here's what it does:

$ ldd zoom
ldd in free(): warning: chunk is already free.
zoom:
         -lICE.6 => /usr/X11R6/lib/libICE.so.6
         -lSM.6 => /usr/X11R6/lib/libSM.so.6
         -lX11.6 => /usr/X11R6/lib/libX11.so.6
         -lXext.6 => /usr/X11R6/lib/libXext.so.6
         -lXrender.1 => /usr/X11R6/lib/libXrender.so.1
         -lfreetype.8 => /usr/X11R6/lib/libfreetype.so.8
         -lXft.1 => /usr/X11R6/lib/libXft.so.1
         -lm.0 => /usr/lib/libm387.so.0
         -lm.0 => /usr/lib/libm.so.0
         -lc.12 => /usr/lib/libc.so.12
         crtend.o => not found

Now... how on *EARTH* do we get the idea that "crtend.o" should be a shared
library?

Here's the (admittedly clearly weird) link line.

	gcc  -g -O2 -Wall -finline-functions -funroll-loops
	-fomit-frame-pointer -I/usr/X11R6/include  -I/usr/X11R6/include
	-DDATADIR="\"/usr/pkg/share/zoom\"" -o zoom main.o interp.o
	file.o options.o zmachine.o zscii.o display.o xdisplay.o
	hash.o tokenise.o stream.o font3.o state.o rc.o rc_parse.o
	rc_lex.o menu.o xfont.o windisplay.o winfont.o random.o
	format.o v6display.o carbondisplay.o carbonfont.o
	carbonsupport.o carbonprefs.o debug.o eval.o iff.o blorb.o
	image_libpng.o image_ximage.o image_carbon.o image_none.o
	-lSM -lICE -lX11 -lXext -lXft -lXft -lm   -L/usr/X11R6/lib
	-lSM -lICE  -L/usr/X11R6/lib -Wl,-R/usr/X11R6/lib

I can't see anything in there that justifies inventing the idea of
a shared "crtend.o".  Other binaries, whether they're already around or I
compile them now, all seem to be fine.

Any suggestions?

-s