Lists: | pgsql-hackers |
---|
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: | <RoccoA(at)Routescape(dot)com>, <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: AIX shared libraries |
Date: | 2006-09-14 14:24:57 |
Message-ID: | 52EF20B2E3209443BC37736D00C3C1380A5DDBC8@EXADV1.host.magwien.gv.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
Tom Lane wrote:
>> 3) Major hacking in Makefile.shlib to achieve the following:
>> - libXX.so.n is built from libXX.a in the traditional way.
>> Then libXX.a is deleted, and recreated as archive
>> containing libXX.so.n.
>> - Linking takes place withOUT -brtl, but with -blibpath:...
>> as in 2).
>> - When the shared libs are installed, I see two options:
>> a) copy (and overwrite) libXX.a to libdir, do not
>> install libXX.so.n
>
> Hm. The objection I see to this is that it will not support
> concurrent installation of multiple libpq versions. What about
>
> 4) Build and install only libXX.so.n, don't install libXX.a at all
Won't work - the linker looks for libXX.so and won't find
libXX.so.n. If you create a symbolic link
libXX.so --> libXX.so.n, you can link, but the executable will
depend on libXX.so and not on libXX.so.n.
Moreover, you cannot link statically any more because in a
static link only libXX.a files will be searched...
> 5) As 4), plus actively remove any libXX.a seen in the
> install directory
Same problem.
Yours,
Laurenz Albe
From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Albe Laurenz" <all(at)adv(dot)magwien(dot)gv(dot)at> |
Cc: | RoccoA(at)Routescape(dot)com, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: AIX shared libraries |
Date: | 2006-09-14 14:46:41 |
Message-ID: | 29161.1158245201@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
"Albe Laurenz" <all(at)adv(dot)magwien(dot)gv(dot)at> writes:
> Tom Lane wrote:
>> Hm. The objection I see to this is that it will not support
>> concurrent installation of multiple libpq versions. What about
>>
>> 4) Build and install only libXX.so.n, don't install libXX.a at all
> Won't work - the linker looks for libXX.so and won't find
> libXX.so.n. If you create a symbolic link
> libXX.so --> libXX.so.n, you can link, but the executable will
> depend on libXX.so and not on libXX.so.n.
Ugh. So given that linker behavior, it's basically impossible to
support multiple libpq versions in the same directory anyway on AIX.
I concur with your 3a) then. Do you have time to do that now?
regards, tom lane