On Sat, Apr 29, 2006 at 03:07:30PM -0400, Tom Lane wrote: > Martijn van Oosterhout <firstname.lastname@example.org> writes: > > Now that 95% of this patch  (currently in the hold queue) has been > > implemented, perhaps we should go the final 5% and version the symbols > > to fix the ambiguous symbol problem forever (on linux at least, though > > anywhere with the GCC toolchain will work). > > I was thinking about that, but came away unconvinced it's worth doing > considering we are not a Linux-only system. Is there any advantage > in having symbol versioning on Linux when we'll still have the same > API-change constraints everywhere else?
What it does is remove the restriction that any one program can only use (directly or indirectly) one version of libpq at any moment. Programs can use indirectly postgres via PAM or NSS or other such pluggable interfaces. Currently PAM and NSS must be using the same version of libpq as any program that might call them or everything blows up. Versioning is basically (amongst other things) a way of ensuring that a program runs against the same version of the library it was compiled against. Just renaming a library won't confuse it for example. It's more a preventative measure than anything else. As postgres gets integrated into more things the chance of symbols getting mislinked increases. > I had actually forgotten about your earlier patch :-( I figured as much :) Have a nice day, -- Martijn van Oosterhout <email@example.com> http://svana.org/kleptog/ > From each according to his ability. To each according to his ability to > litigate.
Description: Digital signature