Обсуждение: libpq.so.4

Поиск
Список
Период
Сортировка

libpq.so.4

От
Oliver Kohll
Дата:
Hello,

I have the same issue as this poster with libpq.so.4:

In short, I've upgraded to 8.3.1 from 8.1 on RHEL 4 (with some CentOS packages). I have apps with dependencies of libpq.so.4 but this is no longer available. 8.3.1 provides libpq.so.5 and the compat-libs provide libpq.so.3.

At the moment maintaining package management integrity is not a must - getting back to 100% package-controlled files can wait until the machine is replaced. Upgrading the dependent software is not an option.
With that in mind, any suggestions on options?

What I've thought of trying so far is
1) creating a symlink called libpq.so.4 towards libpq.so.5 - slightly dangerous due to possible API changes?
2) extracting a copy of libpq.so.4 from the previous RPM release of postgres and manually uploading it
3) building a custom compat package - I don't know how to do this though.

but I'm unaware of the pros and cons of these.

Any comments appreciated.

Regards
Oliver


oliver@gtwm.co.uk
 / 0845 456 1810 / 07814 828608
www.gtwm.co.uk - company


NOTE
No contracts may be concluded on behalf of GT webMarque by means of e-mail
communications. The contents of this e-mail are confidential to the
intended recipient at the e-mail address to which it has been addressed;
it may not be disclosed to or used by anyone other than this addressee,
nor may it be copied in any way. If received in error please return to
sender via e-mail.

DISCLAIMER
Please note that neither GT webMarque Ltd nor the sender accept any
responsibility for viruses transmitted via e-mail. It is your
responsibility to scan attachments (if any).




Re: libpq.so.4

От
Tom Lane
Дата:
Oliver Kohll <oliver@gtwm.co.uk> writes:
> What I've thought of trying so far is
> 1) creating a symlink called libpq.so.4 towards libpq.so.5 - slightly
> dangerous due to possible API changes?

Worth trying.  According to the CVS logs
http://archives.postgresql.org/pgsql-committers/2006-04/msg00341.php
the ABI break from .4 to .5 was simply to stop exporting symbols that
weren't officially part of the API.  So a symlink would work for
applications that played by the rules, and if you have any that
didn't the failure will be pretty obvious.

> 2) extracting a copy of libpq.so.4 from the previous RPM release of
> postgres and manually uploading it

That would work too.

> 3) building a custom compat package - I don't know how to do this
> though.

If you got the 8.3 package from someplace they should have an 8.1
compat package too.

            regards, tom lane

Re: libpq.so.4

От
"Albe Laurenz"
Дата:
Oliver Kohll wrote:
> I have the same issue as this poster with libpq.so.4:
> http://www.nabble.com/8.3.0-upgrade-td16093803.html
>
> In short, I've upgraded to 8.3.1 from 8.1 on RHEL 4 (with
> some CentOS packages). I have apps with dependencies of
> libpq.so.4 but this is no longer available. 8.3.1 provides
> libpq.so.5 and the compat-libs provide libpq.so.3.

Strange; does anybody know why?

> At the moment maintaining package management integrity is not
> a must - getting back to 100% package-controlled files can
> wait until the machine is replaced. Upgrading the dependent
> software is not an option.
> With that in mind, any suggestions on options?
>
> What I've thought of trying so far is
> 1) creating a symlink called libpq.so.4 towards libpq.so.5 -
> slightly dangerous due to possible API changes?

Don't even think about it.

> 2) extracting a copy of libpq.so.4 from the previous RPM
> release of postgres and manually uploading it

You can do that if all else fails.

> 3) building a custom compat package - I don't know how to do
> this though.

Then that's probably not an option for you...

Yours,
Laurenz Albe

Re: libpq.so.4

От
Peter Eisentraut
Дата:
Am Sunday, 8. June 2008 schrieb Albe Laurenz:
> > In short, I've upgraded to 8.3.1 from 8.1 on RHEL 4 (with
> > some CentOS packages). I have apps with dependencies of
> > libpq.so.4 but this is no longer available. 8.3.1 provides
> > libpq.so.5 and the compat-libs provide libpq.so.3.
>
> Strange; does anybody know why?

Well, it appears to me that the RPM packaging was/is not done with much
planning and foresight.  Back then libpq.so.3 was transitioned to libpq.so.4,
someone was kind enough to provide a compatibility package to serve those
people with packages still referencing libpq.so.3.  So then when libpq.so.5
came around, this scheme collapsed, because then "compat" could refer to
libpq.so.3 or .4, depending on what exactly you want to be "compatible" to,
which may in turn depend on the release cycles of the underlying operating
system.

So today, depending on whose packages you take, for what PostgreSQL version
and operating system they were intended, postgresql-libs and compat-libs can
refer to pretty much anything and may or may not be able to coexist.

A workable fix, at least from the point of view of a Debian developer, is to
put the soname number into the package name (libpq3, libpq4, libpq5, etc.),
thus making them unique and coinstallable for all times.

Re: libpq.so.4

От
Devrim GÜNDÜZ
Дата:
Hi,

On Sun, 2008-06-08 at 11:55 +0100, Oliver Kohll wrote:
<snip>
> 3) building a custom compat package - I don't know how to do this
> though.

These are probably my packages from http://yum.pgsqlrpms.org , and I
thought I already fixed this issue -- I'll check.

Anyway,

http://yum.pgsqlrpms.org/8.3/redhat/rhel-4-x86_64/repoview/compat-postgresql-libs.html

and

http://yum.pgsqlrpms.org/8.3/redhat/rhel-4-i386/repoview/compat-postgresql-libs.html

now has compat-libs-postgresql-4 packages.

Regards,
--
Devrim GÜNDÜZ , RHCE
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Managed Services, Shared and Dedicated Hosting
Co-Authors: plPHP, ODBCng - http://www.commandprompt.com/

Вложения

Re: libpq.so.4

От
Tom Lane
Дата:
Peter Eisentraut <peter_e@gmx.net> writes:
> A workable fix, at least from the point of view of a Debian developer, is to
> put the soname number into the package name (libpq3, libpq4, libpq5, etc.),
> thus making them unique and coinstallable for all times.

FWIW, the package names Red Hat has been using for compat libraries are
    postgresqlclient7
        postgresqlclient81
It might have been more consistent to call the first one
postgresqlclient74, but that's where we are ...

            regards, tom lane

Re: libpq.so.4

От
Oliver Kohll
Дата:
Thanks all, option 2 seems to work for me, just wanted to be sure I wasn't asking for crashes.

Oliver Kohll

On 8 Jun 2008, at 18:01, Tom Lane wrote:

Oliver Kohll <oliver@gtwm.co.uk> writes:
What I've thought of trying so far is
1) creating a symlink called libpq.so.4 towards libpq.so.5 - slightly  
dangerous due to possible API changes?

Worth trying.  According to the CVS logs
http://archives.postgresql.org/pgsql-committers/2006-04/msg00341.php
the ABI break from .4 to .5 was simply to stop exporting symbols that
weren't officially part of the API.  So a symlink would work for
applications that played by the rules, and if you have any that
didn't the failure will be pretty obvious.

2) extracting a copy of libpq.so.4 from the previous RPM release of  
postgres and manually uploading it

That would work too.

3) building a custom compat package - I don't know how to do this  
though.

If you got the 8.3 package from someplace they should have an 8.1
compat package too.

regards, tom lane

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


oliver@gtwm.co.uk
 / 0845 456 1810 / 07814 828608
www.gtwm.co.uk - company


NOTE
No contracts may be concluded on behalf of GT webMarque by means of e-mail
communications. The contents of this e-mail are confidential to the
intended recipient at the e-mail address to which it has been addressed;
it may not be disclosed to or used by anyone other than this addressee,
nor may it be copied in any way. If received in error please return to
sender via e-mail.

DISCLAIMER
Please note that neither GT webMarque Ltd nor the sender accept any
responsibility for viruses transmitted via e-mail. It is your
responsibility to scan attachments (if any).