Обсуждение: Re: AIX shared libraries

Поиск
Список
Период
Сортировка

Re: AIX shared libraries

От
"Albe Laurenz"
Дата:
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


Re: AIX shared libraries

От
Tom Lane
Дата:
"Albe Laurenz" <all@adv.magwien.gv.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