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

2006-09-13 Thread Rocco Altier
> Tom Lane wrote:
> > 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.
> 
AIX 4.3 is the first version to support the -brtl.  The current code is
in place to mimic the behaviour of dlopen, etc, on the older platforms.

I think we are at a point that we can stop maintaining AIX older than
4.3 if we want.

-rocco

---(end of broadcast)---
TIP 6: explain analyze is your friend


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

2006-09-12 Thread Albe Laurenz
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

---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


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

2006-09-12 Thread Tom Lane
"Albe Laurenz" <[EMAIL PROTECTED]> writes:
> Tom Lane wrote:
>> I think there's a reasonable argument that by installing a .a file that
>> isn't a shared library, we are violating the platform's conventions.

> 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?

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?

regards, tom lane

---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster