Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site hscfvax.UUCP Path: utzoo!linus!decvax!genrad!panda!talcott!wjh12!hscfvax!chute From: chute@hscfvax.UUCP (850154@M.Zalkalns) Newsgroups: net.micro.att Subject: Shared libraries on the UNIX pc woes Message-ID: <158@hscfvax.UUCP> Date: Sun, 29-Dec-85 18:14:51 EST Article-I.D.: hscfvax.158 Posted: Sun Dec 29 18:14:51 1985 Date-Received: Mon, 30-Dec-85 03:19:43 EST Organization: Health Sciences Computing Facility, Harvard University Lines: 46 Ok folks, the non-programmer has struck again. I have been trying to include shared library routines in a large exectable by adding the following lines (copied from /usr/include/Makepre.h) in my Makefile (S4 is shell defined): LIB = $(S4)/lib SHAREDLIB= $(LIB)/crt0s.o $(LIB)/shlib.ifile The next line specifies the usuall libraries: LIBS = -lm -lcurses -ltermlib -lplot and then I bring together 162 object files (in ALLOBJS) with the following ld: ld -o mdash $(ALLOBJS) $(SHAREDLIB) $(LIBS) I get a few warnings such as the following: mld shlib.ifile 30 warning: symbol ospeed from file //usr/lib/libcurses.a being redefined but also get the dreaded undefined symbol bombout (included verbatum): undefined first referenced symbol in file _doprnt //usr/lib/libcurses.a mld fatal: Symbol referencing errors. No output written to mdash Question: Have I violated fundamental rules of shared libraries? I sure don't understand them, I'm operating at the level of copying Makefiles I've seen before. Incidently, this is under Version 3 of System V for the UNIX pc. Bravely trying to bring up the mdash package for the UNIX pc community, I remain humbly yours, Chris Chute MD Department of Epidemiology Harvard School of Public Health 677 Huntington Ave Boston, MA 02115 617-732-1050 ...harvard!hscfvax!chute OR ...harvard!hscfvax!chutepc!chute