Re: AIX shared libraries (was Re: [PATCHES] Fix linking of OpenLDAP libraries) - Mailing list pgsql-hackers

From Albe Laurenz
Subject Re: AIX shared libraries (was Re: [PATCHES] Fix linking of OpenLDAP libraries)
Date
Msg-id 52EF20B2E3209443BC37736D00C3C1380A51744E@EXADV1.host.magwien.gv.at
Whole thread Raw
In response to AIX shared libraries (was Re: [PATCHES] Fix linking of OpenLDAP libraries)  (Tom Lane <tgl@sss.pgh.pa.us>)
List 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


pgsql-hackers by date:

Previous
From: "Strong, David"
Date:
Subject: Re: Lock partitions
Next
From: "Jie Zhang"
Date:
Subject: Re: Bitmap index status