develooper Front page | perl.perl5.porters | Postings from April 2018

[perl #133151] pod/buildtoc: Perl lib version (5.26.2) doesn't matchexecutable

From:
James E Keenan via RT
Date:
April 24, 2018 18:18
Subject:
[perl #133151] pod/buildtoc: Perl lib version (5.26.2) doesn't matchexecutable
Message ID:
rt-4.0.24-5566-1524593916-293.133151-15-0@perl.org
On Tue, 24 Apr 2018 17:31:00 GMT, joel@tahoestores.com wrote:
> This is a bug report for perl from joel@tahoestores.com,
> generated with the help of perlbug 1.40 running under perl 5.26.1.
> 
> tahoestores# make
> ===>  License ART10 GPLv1+ accepted by the user
> ===>   perl5-5.26.2 depends on file: /usr/local/sbin/pkg - found
> => perl-5.26.2.tar.xz doesn't seem to exist in
> /usr/ports/distfiles/perl.
> => Attempting to fetch https://cpan.metacpan.org/modules/by-
> module/../../src/5.0/perl-5.26.2.tar.xz
> perl-5.26.2.tar.xz                            100% of   11 MB 5943
> kBps 00m02s
> ===> Fetching all distfiles required by perl5-5.26.2 for building
> ===>  Extracting for perl5-5.26.2
> => SHA256 Checksum OK for perl/perl-5.26.2.tar.xz.
> /bin/ln -s libperl.so.5.26.2 /usr/ports/lang/perl5.26/work/perl-
> 5.26.2/libperl.so
> /bin/ln -s libperl.so.5.26.2 /usr/ports/lang/perl5.26/work/perl-
> 5.26.2/libperl.so.5.26
> ===>  Patching for perl5-5.26.2
> ===>  Applying FreeBSD patches for perl5-5.26.2
> /usr/bin/sed -i.bak -e 's|/usr/local|/usr/local|g'
> /usr/ports/lang/perl5.26/work/perl-5.26.2/Configure
> /usr/ports/lang/perl5.26/work/perl-5.26.2/hints/freebsd.sh
> ===>  Configuring for perl5-5.26.2

[snip]


> gcc6  -shared  -L/usr/ports/lang/perl5.26/work/perl-5.26.2
> -L/usr/local/lib/perl5/5.26/mach/CORE -lperl -L/usr/local/lib -fstack-
> protector-strong re_exec.o re_comp.o re.o  -o ../../lib/auto/re/re.so
> chmod 755 ../../lib/auto/re/re.so
> --- dynamic ---
> --- linkext ---
> --- pure_all ---
> --- manifypods ---
> --- all ---
> --- pod/perltoc.pod ---
> LD_LIBRARY_PATH=/usr/ports/lang/perl5.26/work/perl-5.26.2  ./perl
> -Ilib -I. -f pod/buildtoc -q
> pod/buildtoc: Perl lib version (5.26.2) doesn't match executable
> '/usr/ports/lang/perl5.26/work/perl-5.26.2/perl' version (5.26.1) at
> lib/Config.pm line 62.
> Compilation failed in require at lib/locale.pm line 4.
> BEGIN failed--compilation aborted at lib/locale.pm line 4.
> Compilation failed in require at pod/buildtoc line 10.
> BEGIN failed--compilation aborted at pod/buildtoc line 10.
> *** [pod/perltoc.pod] Error code 255
> 
> make[2]: stopped in /usr/ports/lang/perl5.26/work/perl-5.26.2
> 1 error
> 
> make[2]: stopped in /usr/ports/lang/perl5.26/work/perl-5.26.2
> ===> Compilation failed unexpectedly.
> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the
> failure to
> the maintainer.
> *** Error code 1
> 
> Stop.
> make[1]: stopped in /usr/ports/lang/perl5.26
> *** Error code 1
> 
> Stop.
> make: stopped in /usr/ports/lang/perl5.26

1. You appear to be building perl-5.26.2 from the FreeBSD ports tree -- not from a FreeBSD package and not from Perl 5 source code.  The Perl 5 Porters can only be responsible for the latter.  Hence, the first thing we need to rule out is a defect in the port.  If that's where the defect is, then you should either to the ports@freebsd.org mailing list or file a FreeBSD bug ticket.

2. Yesterday on a FreeBSD-11.1 system where the perl-5.26.1 package was installed, I was able to upgrade to perl-5.26.2 without problem simply by using 'pkg'.


> tahoestores# /usr/ports/lang/perl5.26/work/perl-5.26.2/perl -v
> 
> This is perl 5, version 26, subversion 1 (v5.26.1) built for amd64-
> freebsd-thread-multi
> 
> Copyright 1987-2017, Larry Wall
> 
> Perl may be copied only under the terms of either the Artistic License
> or the
> GNU General Public License, which may be found in the Perl 5 source
> kit.
> 
> Complete documentation for Perl, including FAQ lists, should be found
> on
> this system using "man perl" or "perldoc perl".  If you have access to
> the
> Internet, point your browser at http://www.perl.org/, the Perl Home
> Page.
> 
> tahoestores#pwd
> /usr/ports/lang/perl5.26
> tahoestores# ---
> Flags:
>     category=install
>     severity=high
> ---
> Site configuration information for perl 5.26.1:
> 
> Configured by perl at Fri Sep 22 14:31:26 PDT 2017.
> 
> Summary of my perl5 (revision 5 version 26 subversion 1)
> configuration:
> 
> Platform:
>   osname=freebsd
>   osvers=10.3-release-p11
>   archname=amd64-freebsd-thread-multi
>   uname='freebsd tahoestores.net 10.3-release-p11 freebsd 10.3-
> release-p11 #0: mon oct 24 18:49:24 utc 2016 root@amd64-
> builder.daemonology.net:usrobjusrsrcsysgeneric amd64 '

3.  How did 'libperl.so.5.26.1' get into the arguments passed to Perl's Configure in the line below?

>   config_args='-sde -Dprefix=/usr/local -Dlibperl=libperl.so.5.26.1
> -Darchlib=/usr/local/lib/perl5/5.26/mach
> -Dprivlib=/usr/local/lib/perl5/5.26
> -Dman3dir=/usr/local/lib/perl5/5.26/perl/man/man3
> -Dman1dir=/usr/local/lib/perl5/5.26/perl/man/man1
> -Dsitearch=/usr/local/lib/perl5/site_perl/mach/5.26
> -Dsitelib=/usr/local/lib/perl5/site_perl -Dscriptdir=/usr/local/bin
> -Dsiteman3dir=/usr/local/lib/perl5/site_perl/man/man3
> -Dsiteman1dir=/usr/local/lib/perl5/site_perl/man/man1 -Ui_malloc
> -Ui_iconv -Uinstallusrbinperl -Dusenm=n -Dcc=gcc6 -Duseshrplib
> -Dinc_version_list=none -Dcf_by=perl -Dcf_email=perl@FreeBSD.org

... and in the lines below?

> -Dcf_time=Fri Sep 22 14:31:26 PDT 2017 -Alddlflags=-
> L/usr/ports/lang/perl5.26/work/perl-5.26.1
> -L/usr/local/lib/perl5/5.26/mach/CORE -lperl
> -Dshrpldflags=$(LDDLFLAGS:N-L/usr/ports/lang/perl5.26/work/perl-
> 5.26.1:N-L/usr/local/lib/perl5/5.26/mach/CORE:N-lperl) -Wl,-
> soname,$(LIBPERL:R)
> -Doptimize=-O2 -pipe -D_GLIBCXX_USE_C99  -fstack-protector -fno-
> strict-aliasing -Ui_gdbm -Dusemultiplicity=y -Duse64bitint
> -Dusemymalloc=n -Dusethreads=y -Uusedtrace'
>   hint=recommended
>   useposix=true
>   d_sigaction=define
>   useithreads=define
>   usemultiplicity=define
>   use64bitint=define
>   use64bitall=define
>   uselongdouble=undef
>   usemymalloc=n
>   default_inc_excludes_dot=define
>   bincompat5005=undef
> Compiler:
>   cc='gcc6'
>   ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fwrapv -fno-strict-
> aliasing -pipe -fstack-protector-strong -I/usr/local/include
> -D_FORTIFY_SOURCE=2'
>   optimize='-O2 -pipe -D_GLIBCXX_USE_C99 -fstack-protector -fno-
> strict-aliasing'
>   cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fwrapv -fno-strict-
> aliasing -pipe -fstack-protector-strong -I/usr/local/include'
>   ccversion=''
>   gccversion='6.4.0'
>   gccosandvers=''
>   intsize=4
>   longsize=8
>   ptrsize=8
>   doublesize=8
>   byteorder=12345678
>   doublekind=3
>   d_longlong=define
>   longlongsize=8
>   d_longdbl=define
>   longdblsize=16
>   longdblkind=3
>   ivtype='long'
>   ivsize=8
>   nvtype='double'
>   nvsize=8
>   Off_t='off_t'
>   lseeksize=8
>   alignbytes=8
>   prototype=define
> Linker and Libraries:
>   ld='gcc6'
>   ldflags ='-pthread -Wl,-E  -fstack-protector-strong
> -L/usr/local/lib'
>   libpth=/usr/lib /usr/local/lib /usr/local/lib /usr/lib
>   libs=-lpthread -lgdbm -lm -lcrypt -lutil -lelf
>   perllibs=-lpthread -lm -lcrypt -lutil -lelf
>   libc=
>   so=so
>   useshrplib=true

... and in this line here?

>   libperl=libperl.so.5.26.1
>   gnulibc_version=''
> Dynamic Linking:
>   dlsrc=dl_dlopen.xs
>   dlext=so
>   d_dlsymun=undef
>   ccdlflags='  -Wl,-R/usr/local/lib/perl5/5.26/mach/CORE'
>   cccdlflags='-DPIC -fPIC'
>   lddlflags='-shared  -L/usr/local/lib/perl5/5.26/mach/CORE -lperl
> -L/usr/local/lib -fstack-protector-strong'
> 
> 
> ---
> @INC for perl 5.26.1:
>     /usr/local/lib/perl5/site_perl/mach/5.26
>     /usr/local/lib/perl5/site_perl
>     /usr/local/lib/perl5/5.26/mach
>     /usr/local/lib/perl5/5.26
> 
> ---
> Environment for perl 5.26.1:
>     HOME=/root
>     LANG=en_US.ISO8859-1
>     LANGUAGE (unset)
>     LC_ALL=C
>     LD_LIBRARY_PATH (unset)
>     LOGDIR (unset)
>     PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/var/qmail/bin:/usr/local/openjdk8-
> jre/bin:/root/bin
>     PERL_BADLANG (unset)
>     SHELL=/bin/csh

In the comparable places in my perl-5.26.2 (built from 'pkg') 'perl -V' output, I get '5.26.2', not '5.26.1'.  So I don't feel there is an error in the Perl 5 source code here.

Thank you very much.

-- 
James E Keenan (jkeenan@cpan.org)

---
via perlbug:  queue: perl5 status: new
https://rt.perl.org/Ticket/Display.html?id=133151



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About