Thread: Re: [PATCHES] Linking on AIX (Was: Fix linking of OpenLDAP libraries )

Re: [PATCHES] Linking on AIX (Was: Fix linking of OpenLDAP libraries )

From
"Albe Laurenz"
Date:
Rocco Altier wrote:
> Here is the working one:
> initdb needs:
>          /usr/lib/libc.a(shr.o)
>          /unix
>          /usr/lib/libcrypt.a(shr.o)
>
> Here is the broken one:
> initdb needs:
>          ../../../src/interfaces/libpq/libpq.so
>          /usr/lib/libc.a(shr.o)
>          /usr/lib/librtl.a(shr.o)
>          /unix
>          /usr/lib/libcrypt.a(shr.o)
>
> When run it shows:
> exec(): 0509-036 Cannot load program initdb because of the following
> errors:
>         0509-150   Dependent module libpq.so could not be loaded.
>         0509-022 Cannot load module libpq.so.
>         0509-026 System error: A file or directory in the
> path name does
> not exist.

Yup, that's as expected :^)

Up to now you have built against the static libpq.a
I didn't add the right -blibpath to this patch that
failed for you - the broken initdb is dynamically linked
but does not know where to look for its shared library.

The patch I just submitted to pgsql-patches should take
care of that. It makes the executables look in --libdir.

Yours,
Laurenz Albe


Re: [PATCHES] Linking on AIX (Was: Fix linking of OpenLDAP libraries )

From
Tom Lane
Date:
"Albe Laurenz" <all@adv.magwien.gv.at> writes:
> Up to now you have built against the static libpq.a
> I didn't add the right -blibpath to this patch that
> failed for you - the broken initdb is dynamically linked
> but does not know where to look for its shared library.

> The patch I just submitted to pgsql-patches should take
> care of that. It makes the executables look in --libdir.

Mmm ... what of "make check"'s temporary installation?  We need
to have the executables search in the temporary install's libdir,
*before* looking in the configured --libdir (which could easily
contain an incompatible back-version libpq ...)

pg_regress normally tries to handle this by setting LD_LIBRARY_PATH
... does AIX use that or a similar symbol?
        regards, tom lane