Re: [PATCHES] Fix linking of OpenLDAP libraries - Mailing list pgsql-hackers

From Albe Laurenz
Subject Re: [PATCHES] Fix linking of OpenLDAP libraries
Date
Msg-id 52EF20B2E3209443BC37736D00C3C1380A5171BA@EXADV1.host.magwien.gv.at
Whole thread Raw
Responses AIX shared libraries (was Re: [PATCHES] Fix linking of OpenLDAP libraries)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
>> In our case, we have libpq.a and libpq.so in the same directory,
>> so unless you link with -brtl you will get a static link
>> (because libpq.a is a static library).
>
> I wonder whether we ought to suppress building (or at least
installing)
> our .a libraries at all on AIX.  Adding -btrl to LDFLAGS would help
> within the context of our own build, but external clients that link
> to libpq without saying that are going to get undesirable results.
>
> 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

For a static build on AIX, you have to specify all the libraries and
give the linker -bstatic and -bI:/lib/syscalls.exp

>> Should -brtl be added to src/template/aix?
>
> Sounds that way, but that'll only help for psql and other stuff built
> within our build.  Could you try this against CVS tip:
>
> * add -brtl to LDFLAGS in the template
> * Remove the AIX-specific hack on $(libpq) at lines 349-354 of
>   src/Makefile.global.in
> * see if it configures and builds

I have done that (see the attached patch) and it works fine.
I don't have the native AIX C compiler, so I could only test
it with gcc.

I have taken the liberty to modify the static link line
in Makefile.global.in to contain the LDAP libraries, I hope
that's appropriate.

Yours,
Laurenz Albe

Attachment

pgsql-hackers by date:

Previous
From: "Say42"
Date:
Subject: Re: Optimizer improvements: to do or not to do?
Next
From: Naz Gassiep
Date:
Subject: dump / restore functionality