Path: utzoo!utgpu!watserv1!watmath!att!occrsh!uokmax!apple!usc!cs.utexas.edu!uunet!mcsun!ukc!mucs!m1!nick From: nick@mucs6.cs.man.ac.uk (Nick Filer) Newsgroups: comp.sys.apollo Subject: Inlib'ing on SR10.1/2 Message-ID: Date: 6 Sep 90 05:44:04 GMT Sender: news@cs.man.ac.uk Organization: Department of Computer Science, University of Manchester, U.K. Lines: 81 We have several libraries which have been in use for several years and are designed to be Inlib'ed rather than being stored in every binary file. Having moved to SR10.1 on our DN4000's we discovered that producing an inlib-able library using either "bind" or "ld" does not work as the library contains "absolute code". Has anybody out there managed to produce libraries of routines which can be inlib'ed on SR10. Both we and the HP Response Center (ref E1487117) in the UK have been trying to find a way. We have tried both SR10.1 and SR10.2 machines using both "bind" and "ld" with suitable incantations which either worked on previous versions (e.g. SR9.7) or are attempts to understand the manual pages. Below is a tiny C program which we have used to demonstrate the problem. Any help will be gratefully recieved. ---------------------------------------------------------------------- Dr Nick Filer Room: IT405 Department of Computer Science Telephone: +44-61-275-6171 University of Manchester FAX: +44-61-275-6280 Manchester M13 9PL Europe: nfiler@uk.ac.man.cs UK US: nfiler@cs.man.ac.uk ----------------------------------------------------------------------- /* Small C program designed to inlib hp_foo.c fails in final load as the library hp_foo.lib contains absolute code Tried using SR10.1 and SR10.2 BSD4.3 Ours is a DN4000 */ /* hp_foo.c */ #include foo() { printf("In Foo\n"); } ===================================================================== /* hp_main.c */ #include main() { printf("Starting\n"); foo(); printf("Finished\n"); } ======================================================================== # Makefile hp: hp_main.o hp_foo.lib ld -o hp hp_main.o -A inlib,hp_foo.lib hp_main.o : hp_main.c cc -c hp_main.c hp_foo.o : hp_foo.c cc -c hp_foo.c hp_foo.lib : hp_foo.o ld -r -o hp_foo.lib hp_foo.o ========================================================================= *** Commands *** cc -c hp_main.c cc -c hp_foo.c ld -r -o hp_foo.lib hp_foo.o ld -o hp hp_main.o -A inlib,hp_foo.lib # substituting "bind" in place of "ld" makes no difference. -- ---------------------------------------------------------------------- Dr Nick Filer Room: IT405 Department of Computer Science Telephone: +44-61-275-6171 University of Manchester FAX: +44-61-275-6280 Manchester M13 9PL Europe: nfiler@uk.ac.man.cs UK US: nfiler@cs.man.ac.uk -----------------------------------------------------------------------