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

From Peter Eisentraut
Subject Re: Strip -mmacosx-version-min options from plperl build
Date
Msg-id 843fbed9-0749-bba4-b6b0-e3e7d1244b0d@enterprisedb.com
Whole thread Raw
In response to Re: Strip -mmacosx-version-min options from plperl build  (Peter Eisentraut <peter.eisentraut@enterprisedb.com>)
Responses Re: Strip -mmacosx-version-min options from plperl build
List 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.



pgsql-hackers by date:

Previous
From: mahendrakar s
Date:
Subject: Re: Stack overflow issue
Next
From: Richard Guo
Date:
Subject: Re: Making Vars outer-join aware