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


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


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