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

From: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Strip -mmacosx-version-min options from plperl build
Date: 2022-08-24 10:12:15
Message-ID: 843fbed9-0749-bba4-b6b0-e3e7d1244b0d@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 19.08.22 09:12, Peter Eisentraut wrote:
> After analyzing the source code of ExtUtils::Embed's ldopts, I think we
> can also do this by subtracting $Config{ldflags}, since
>
> my $linkage = "$ccdlflags $ldflags @archives $ld_or_bs";
>
> and we really just want the $ld_or_bs part. (@archives should be empty
> for our uses.)
>
> This would get rid of -mmacosx-version-min and -arch and all the things
> you showed, including -L/opt/local/lib, which is probably there so that
> the build of Perl itself could look there for things, but we don't need it.

This patch has failed on Cygwin lorikeet:

Before:

checking for flags to link embedded Perl...
-Wl,--enable-auto-import -Wl,--export-all-symbols
-Wl,--enable-auto-image-base -fstack-protector-strong
-L/usr/lib/perl5/5.32/x86_64-cygwin-threads/CORE -lperl -lpthread -ldl
-lcrypt

After:

checking for flags to link embedded Perl...
-L/usr/lib/perl5/5.32/x86_64-cygwin-threads/CORE -lperl -lpthread -ldl
-lcrypt

That's as designed. But the plperl tests fail:

CREATE EXTENSION plperl;
+ERROR: incompatible library
"/home/andrew/bf/root/HEAD/inst/lib/postgresql/plperl.dll": missing
magic block
+HINT: Extension libraries are required to use the PG_MODULE_MAGIC macro.

Among the now-dropped options, we can discount -Wl,--enable-auto-import,
because that is used anyway via src/template/cygwin.

So one of the options

-Wl,--export-all-symbols
-Wl,--enable-auto-image-base
-fstack-protector-strong

is needed. These options aren't used for any other shared libraries
AFAICT, so nothing is clear to me.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Richard Guo 2022-08-24 10:26:46 Re: Making Vars outer-join aware
Previous Message mahendrakar s 2022-08-24 10:07:01 Re: Stack overflow issue