Re: Strip -mmacosx-version-min options from plperl build

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Strip -mmacosx-version-min options from plperl build
Дата
Msg-id 20220820214447.enuetjm5cv75wwpd@awork3.anarazel.de
обсуждение исходный текст
Ответ на Re: Strip -mmacosx-version-min options from plperl build  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Strip -mmacosx-version-min options from plperl build  (Peter Eisentraut <peter.eisentraut@enterprisedb.com>)
Список 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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Strip -mmacosx-version-min options from plperl build
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Making Vars outer-join aware