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

From Rocco Altier
Subject Re: [PATCHES] Fix linking of OpenLDAP libraries
Date
Msg-id 6E0907A94904D94B99D7F387E08C4F57016D1A8B@FALCON.INSIGHT
Whole thread Raw
List pgsql-hackers
The patch did not work for me :-(

My buildfarm members failed in local testing to execute the
install-check, because initdb failed to find libpq.so.

Make check did succeed, so I think there is a possibility of getting it
working, but it won't be as simple as adding -brtl to the template.

I was also getting duplicate symbols in the link, that I wasn't before
either.

I don't have time right now to work through all the issues, but wanted
to give feedback that the patch isn't quite this simple.

Thanks,-rocco

> -----Original Message-----
> From: pgsql-hackers-owner@postgresql.org
> [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Albe Laurenz
> Sent: Tuesday, September 12, 2006 9:01 AM
> To: Tom Lane *EXTERN*
> Cc: pgsql-hackers@postgresql.org
> Subject: Re: [PATCHES] [HACKERS] Fix linking of OpenLDAP libraries
>
>
> 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
>


pgsql-hackers by date:

Previous
From: David Fetter
Date:
Subject: Re: -HEAD planner issue wrt hash_joins on dbt3 ?
Next
From: "Albe Laurenz"
Date:
Subject: Re: [PATCHES] Linking on AIX (Was: Fix linking of OpenLDAP libraries )