Re: [HACKERS] dynamic libraries - Mailing list pgsql-hackers
From | Matthew N. Dodd |
---|---|
Subject | Re: [HACKERS] dynamic libraries |
Date | |
Msg-id | Pine.BSF.4.02.9810121631050.16487-100000@sasami.jurai.net Whole thread Raw |
In response to | Re: [HACKERS] dynamic libraries ("Oliver Elphick" <olly@lfix.co.uk>) |
Responses |
Re: [HACKERS] dynamic libraries
Re: [HACKERS] dynamic libraries |
List | pgsql-hackers |
On Mon, 12 Oct 1998, Oliver Elphick wrote: > "Matthew N. Dodd" wrote: > > For > >ELF, the specification supports compiled in library search paths; lets use > >them. Asking the system administrator to keep track of another library > >path is most assuming. -R/--rpath also makes it simpler for non-root > >users to install PostgreSQL. > > If you do this, Debian Linux will consider it a bug and I shall have to take > it out for the Debian package. From Debian documentation: > > "`-rpath' can cause big problems if the referenced > libraries get updated. Therefore, no Debian package should use the > `-rpath' option." Yes, since Debian distributes binary packages where users can install the package anywhere they like, compiling in a search path causes problems. Let me ask you though, when was the last time you updated the shared libs and didn't update the utils that used them? Regardless, under ELF, a major number change will require relinking anyway as ELF has no 'major revision number'. A solution would be to compile in multiple probable locations for the library in to the binary. Another solution is to beat users up until they no longer have the desire to install packages in non-standard places. Regardless, just because Debian or any other system can't figure out how to do library versioning doesn't mean it should handycap any correct ELF library solution. The little warning you pased about -rpath is bogus; if the library changes and the minor version is bumped, no problems will be experienced because, by definition, such changes do not alter behavior. A change that would cause problems will require a relink anyway as you're no longer linking against the same library. (libpq1.so.0 vs libpq2.so.0). For those of you coming from an a.out or other background, your libraries aren't going to be named the same. I am not proposing any changes to the a.out library naming. ELF provides compiled in library search paths for a reason; it is the correct thing to do. How it effects binary packages of a particluar OS (FreeBSD, NetBSD, Debian or whatever) is beyond the scope of the postgresql development project. I'm pretty sure postgresql is provided in source form for that reason. :) BTW, you misspelled 'Debian GNU/Linux'. -- | Matthew N. Dodd | 78 280Z | 75 164E | 84 245DL | FreeBSD/NetBSD/Sprite/VMS | | winter@jurai.net | This Space For Rent | ix86,sparc,m68k,pmax,vax | | http://www.jurai.net/~winter | Are you k-rad elite enough for my webpage? |
pgsql-hackers by date: