Re: Debian Sid broke Perl

From: Noah Misch <noah(at)leadboat(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org, andres(at)anarazel(dot)de
Subject: Re: Debian Sid broke Perl
Date: 2020-06-06 23:53:19
Message-ID: 20200606235319.GB2561514@rfd.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Jun 06, 2020 at 07:11:51PM -0400, Tom Lane wrote:
> I wrote:
> > A bit of searching turned up this:
> > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798626
>
> BTW, as far as I can tell from the underlying discussion at
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=962138
> there was no actual change in the existence of the shared
> library, but what is now happening is that we are getting
> a result reflecting the fact that /usr/bin/perl itself is
> statically linked.

Interesting.

> I wonder whether we could just drop the configure-time
> test for useshrplib. The worst-case scenario is that a user
> grinds through a build and eventually gets an obscure link error,
> but that's probably quite uncommon these days.

Losing that would not hurt much. This solution relies on all other Perl
configure tests getting the same answer from /usr/bin/perl that they would get
from /usr/bin/perl*gnu. thorntail currently does behave that way:

$ diff -u <(perl -MConfig -e 'print Config::config_sh') <(perl5.30-sparc64-linux-gnu -MConfig -e 'print Config::config_sh')
--- /dev/fd/63 2020-06-07 02:50:49.368000000 +0300
+++ /dev/fd/62 2020-06-07 02:50:49.368000000 +0300
@@ -103,14 +103,15 @@
config_arg38='-Doptimize=-O2'
config_arg39='-dEs'
config_arg4='-Dcc=sparc64-linux-gnu-gcc'
-config_arg40='-Uuseshrplib'
+config_arg40='-Duseshrplib'
+config_arg41='-Dlibperl=libperl.so.5.30.3'
config_arg5='-Dcpp=sparc64-linux-gnu-cpp'
config_arg6='-Dld=sparc64-linux-gnu-gcc'
-config_arg7='-Dccflags=-DDEBIAN -DAPPLLIB_EXP="/etc/perl:/usr/lib/sparc64-linux-gnu/perl-base" -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/perl-NCIX23/perl-5.30.3=. -fstack-protector-strong -Wformat -Werror=format-security'
+config_arg7='-Dccflags=-DDEBIAN -DAPPLLIB_EXP="/etc/perl" -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/perl-NCIX23/perl-5.30.3=. -fstack-protector-strong -Wformat -Werror=format-security'
config_arg8='-Dldflags= -Wl,-z,relro'
config_arg9='-Dlddlflags=-shared -Wl,-z,relro'
-config_argc='40'
-config_args='-Dmksymlinks -Dusethreads -Duselargefiles -Dcc=sparc64-linux-gnu-gcc -Dcpp=sparc64-linux-gnu-cpp -Dld=sparc64-linux-gnu-gcc -Dccflags=-DDEBIAN -DAPPLLIB_EXP="/etc/perl:/usr/lib/sparc64-linux-gnu/perl-base" -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/perl-NCIX23/perl-5.30.3=. -fstack-protector-strong -Wformat -Werror=format-security -Dldflags= -Wl,-z,relro -Dlddlflags=-shared -Wl,-z,relro -Dcccdlflags=-fPIC -Darchname=sparc64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.30 -Darchlib=/usr/lib/sparc64-linux-gnu/perl/5.30 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/sparc64-linux-gnu/perl5/5.30 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.30.3 -Dsitearch=/usr/local/lib/sparc64-linux-gnu/perl/5.30.3 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -Ui_xlocale -Uversiononly -DDEBUGGING=-g -Doptimize=-O2 -dEs -Uuseshrplib'
+config_argc='41'
+config_args='-Dmksymlinks -Dusethreads -Duselargefiles -Dcc=sparc64-linux-gnu-gcc -Dcpp=sparc64-linux-gnu-cpp -Dld=sparc64-linux-gnu-gcc -Dccflags=-DDEBIAN -DAPPLLIB_EXP="/etc/perl" -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/perl-NCIX23/perl-5.30.3=. -fstack-protector-strong -Wformat -Werror=format-security -Dldflags= -Wl,-z,relro -Dlddlflags=-shared -Wl,-z,relro -Dcccdlflags=-fPIC -Darchname=sparc64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.30 -Darchlib=/usr/lib/sparc64-linux-gnu/perl/5.30 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/sparc64-linux-gnu/perl5/5.30 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.30.3 -Dsitearch=/usr/local/lib/sparc64-linux-gnu/perl/5.30.3 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -Ui_xlocale -Uversiononly -DDEBUGGING=-g -Doptimize=-O2 -dEs -Duseshrplib -Dlibperl=libperl.so.5.30.3'
contains='grep'
cp='cp'
cpio=''
@@ -919,7 +920,7 @@
lib_ext='.a'
libc='libc-2.31.so'
libdb_needs_pthread='N'
-libperl='libperl.a'
+libperl='libperl.so.5.30'
libpth='/usr/local/lib /usr/include/sparc64-linux-gnu /usr/lib /lib/sparc64-linux-gnu /lib/../lib /usr/lib/sparc64-linux-gnu /usr/lib/../lib /lib'
libs='-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt'
libsdirs=' /usr/lib/sparc64-linux-gnu'
@@ -1203,7 +1204,7 @@
usequadmath='undef'
usereentrant='undef'
userelocatableinc='undef'
-useshrplib='false'
+useshrplib='true'
usesitecustomize='undef'
usesocks='undef'
usethreads='define'

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2020-06-07 00:38:13 Re: Debian Sid broke Perl
Previous Message Tom Lane 2020-06-06 23:11:51 Re: Debian Sid broke Perl