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