Re: AIX shared libraries (was Re: [PATCHES] Fix linking of OpenLDAP libraries)

From: "Albe Laurenz" <all(at)adv(dot)magwien(dot)gv(dot)at>
To: "Tom Lane *EXTERN*" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: AIX shared libraries (was Re: [PATCHES] Fix linking of OpenLDAP libraries)
Date: 2006-09-12 16:11:28
Message-ID: 52EF20B2E3209443BC37736D00C3C1380A51744E@EXADV1.host.magwien.gv.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:
>> The natural way in AIX would be:
>> - Create libpq.so
>> - Create libpq.a by 'rm -f libpq.a; ar -rc libpq.a libpq.so'
>> - Install only libpq.a
>
> Hm. This seems possible with some moderate hacking on Makefile.shlib
> (certainly it'd be no more invasive than the existing Windows-specific
> platform variants). However, looking at what's already in
> Makefile.shlib for AIX makes me doubt the above claim a bit, because
> AFAICS libpq.so is produced from libpq.a on that platform. Is it
> possible that the rules have changed across AIX versions, and that the
> code in there now is needful for older versions?

I don't think that this behaviour has changed. I remember it from
AIX 4.3.2.

Of course libpq.so is created from (the static) libpq.a.
But once you have the dynamic library, you can link statically
against it.

> Another issue with installing only .a is that there's no provision
> for versioning in .a library names ... what happens to someone who
> needs two generations of libpq on his machine?

Use different directories and set LIBPATH?
I don't know if there is a canonical way to do that. I'll investigate.

Yours,
Laurenz Albe

Browse pgsql-hackers by date

  From Date Subject
Next Message Jie Zhang 2006-09-12 16:17:30 Re: Bitmap index status
Previous Message Strong, David 2006-09-12 15:46:19 Re: Lock partitions