postgresql: libpq4 and libpq5 collide

Reini Urban rurban@x-ray.at
Mon Jul 21 17:29:00 GMT 2008


Corinna Vinschen schrieb:
> On Jul 21 14:15, Reini Urban wrote:
>> 2008/7/21 Yaakov (Cygwin Ports):
>>> Both libpq4 and libpq5 contain the same /usr/bin/cygpq.dll file.
>>> setup.exe cannot handle a file coming from more than one package; this
>>> is bound to cause problems.
>> Yes, I did this on purpose, resp. all the libpq packagers don't
>> version their so's.
>> The postgresql team does not like versioned so's.
>> Version 5 contains all the backwards compatible functions from version 4.
>>
>> I see no technical problems with setup.
>> First uninstall (remove it), the install (installs the new, which is the same).
>>
>> Oops. You mean when you want to install both and then uninstall libpq4?
>> Hmm, maybe a preremove script for libpq4 is needed therefore.
>> But this does not help.
>> Or just a re-install of libpq5.
>>
>> Probably best is to remove libpq4 when installing libpq5.
>> Can setup handle this? No. Hmm...
> 
> I think the basic problem is that two versioned libs exist (4, 5),
> even though no versioning is provided, nor necessary.  The versioning
> is only required as soon as backward compatibility is broken by the
> new lib version.  This isn't the case, so libpq4 should never have been
> created in the first place, rather just a libpq.  Since libpq4 exists
> now, I think the right thing to do would be to use this name until
> a new lib version breaks backward compatibility.  Then it's time for
> a libpq>4 and the DLL in it should start to use versioning, too.

As far as I understand the postgresql team promised to always keep 
backwards compatibility in its client library. New features and 
enhancements always use new functions and don't change old ones. So I'd 
rather want to rename the library to libpq and obsolete the versioned 
libpq4 and libpq5.

This would just require a small change in some setup.hints which I can 
easily do.
-- 
Reini Urban
http://phpwiki.org/  http://murbreak.at/

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list