Re: Strip -mmacosx-version-min options from plperl build - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Strip -mmacosx-version-min options from plperl build
Date
Msg-id 20220820214447.enuetjm5cv75wwpd@awork3.anarazel.de
Whole thread Raw
In response to Re: Strip -mmacosx-version-min options from plperl build  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Strip -mmacosx-version-min options from plperl build
List pgsql-hackers
Hi,

FWIW, looks like Peter's patch unbreaks building plperl on AIX using gcc and
system perl. Before we picked up a bunch of xlc specific flags that prevented
that.

before:
checking for flags to link embedded Perl...  -brtl -bdynamic -b64
-L/usr/opt/perl5/lib64/5.28.1/aix-thread-multi-64all/CORE-lperl -lpthread -lbind -lnsl -ldl -lld -lm -lcrypt -lpthreads
-lc
now:
checking for flags to link embedded Perl...   -L/usr/opt/perl5/lib64/5.28.1/aix-thread-multi-64all/CORE -lperl
-lpthread-lbind -lnsl -ldl -lld -lm -lcrypt -lpthreads -lc
 


On 2022-08-20 16:53:31 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > Maybe a daft question: Why do want any of the -l flags other than -lperl? With
> > the patch configure spits out the following on my debian system:
>
> > checking for CFLAGS to compile embedded Perl... -DDEBIAN
> > checking for flags to link embedded Perl...   -L/usr/lib/x86_64-linux-gnu/perl/5.34/CORE -lperl -ldl -lm -lpthread
-lc-lcrypt
 
>
> > those libraries were likely relevant to build libperl, but don't look relevant
> > for linking to it dynamically.
>
> I'm certain that there are/were platforms that insist on those libraries
> being mentioned anyway.  Maybe they are all obsolete now?

I don't think any of the supported platforms require it for stuff used inside
the shared library (and we'd be in trouble if so, check e.g. libpq.pc). But of
course that's different if there's inline function / macros getting pulled in.

Which turns out to be an issue on AIX. All the -l flags added by perl can be
removed for xlc, but for gcc, -lpthreads (or -pthread) it is required.

Tried it on Solaris (32 bit, not sure if there's a 64bit perl available),
works.

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Strip -mmacosx-version-min options from plperl build
Next
From: Tom Lane
Date:
Subject: Re: Making Vars outer-join aware