Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!gorodish!guy From: guy%gorodish@Sun.COM (Guy Harris) Newsgroups: comp.arch,comp.unix.wizards,comp.os.misc Subject: Re: Shared libraries (Was: Re: Big Programs Hurt Performance) Message-ID: <28957@sun.uucp> Date: Wed, 23-Sep-87 21:16:52 EDT Article-I.D.: sun.28957 Posted: Wed Sep 23 21:16:52 1987 Date-Received: Sat, 26-Sep-87 05:58:31 EDT References: <6886@eddie.MIT.EDU) <2501@xanth.UUCP> <2067@sfsup.UUCP> <3009@ulysses.homer.nj.att.com> Sender: news@sun.uucp Lines: 23 Xref: mnetor comp.arch:2317 comp.unix.wizards:4439 comp.os.misc:223 > >It's not too uncommon that a new version of a program comes along, but some > >people still want to use the old version, for whatever reason. > > You have to relink with the unshared version of the old library. You do in some, but not all, implementations. An earlier article indicated that the Amiga implementation permits you to specify a version number when the library is opened (does this mean programs have to explicitly open shared libraries, i.e., they have to know that they're using a shared library?). See "Shared Libraries in SunOS" from the last USENIX proceedings for another scheme for handling this problem. The scheme described therein permits multiple versions of the library to be resident; when the interface changes in a way that is expected to break old programs, the major version number is increased, so that programs depending on an earlier major version of the library won't bind to a later version. Of course, this requires you to keep old versions of the library around, but you can't have everything; if this causes a disk-space problem, you might have to link with an unshared version of the library. Guy Harris {ihnp4, decvax, seismo, decwrl, ...}!sun!guy guy@sun.com