Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 676172

Summary: dev-lang/perl-5.26.1-r2 - perl -V: Config.pm did not return a true value. BEGIN failed--compilation aborted.
Product: Gentoo Linux Reporter: Carlo <carlojpisani>
Component: Current packagesAssignee: Gentoo Perl team <perl>
Status: RESOLVED NEEDINFO    
Severity: normal CC: kentnl
Priority: Normal    
Version: unspecified   
Hardware: HPPA   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge info
/usr/lib/perl5/5.26.1/hppa2.0-linux/Config.pm
/usr/lib/perl5/vendor_perl/Config.pm
output of perl -V

Description Carlo 2019-01-24 18:30:23 UTC
hi
I have successfully compiled perl on HPPA2
2019-01-24 =dev-lang/perl-5.26.1-r2 ] - success - @2.29.1/7.3.0
with gcc v7.3.0, binutils 2.29

the process has completed successfully but perl shows weird behavior

e.g.
perl -V

reports:

Config.pm did not return a true value.
BEGIN failed--compilation aborted.


---

perl -e "print qq(@INC)" reports

/etc/perl 
/usr/local/lib/perl5/5.26.1/hppa2.0-linux 
/usr/local/lib/perl5/5.26.1 
/usr/lib/perl5/vendor_perl/5.26.1/hppa2.0-linux /usr/lib/perl5/vendor_perl/5.26.1 
/usr/local/lib/perl5 
/usr/lib/perl5/vendor_perl 
/usr/lib/perl5/5.26.1/hppa2.0-linux 
/usr/lib/perl5/5.26.1

---

look at this simple script

#!/usr/bin/perl
use strict;

when executed, perl reports this

strict.pm did not return a true value at ./perl-test1.pl line 3.
BEGIN failed--compilation aborted at ./perl-test1.pl line 3.

---
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2019-01-24 19:28:24 UTC
Can't confirm that this is architecture specific. I had this version running fine for nearly a year.
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2019-01-24 19:30:40 UTC
I had 5.26.1-r2 working between February and April 2018.
Comment 3 Carlo 2019-01-24 19:34:31 UTC
Created attachment 562702 [details]
emerge info

attaching the emerge --info for hppa

This report I about perl v5.26.1-r2 
I have also tried v5.26.2: it has the same problem
Comment 4 Carlo 2019-01-24 19:38:28 UTC
yes, it works OK on { ppc, x86 } but not on hppa2
I have update all systems in parallel, virtually with the same commands and procedures.

anyway, I need a way to investigate *what* goes wrong.
I cannot understand the error reported by perl

it seems it's unable to handle "use strict;", which is weird.

how can I investigate it?
Comment 5 Carlo 2019-01-24 19:49:50 UTC
I am reading this 
https://wiki.gentoo.org/wiki/Project:Perl/5.26_Known_Issues
Comment 6 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2019-01-25 10:18:37 UTC
Your output listing of @INC seems malformed, specifically, 2 entries on one line is "odd", and I can't tell if its some side effect of how you processed it, or if there's potentially something wrong in your @INC.

To clarify, please report:

 /usr/bin/perl -e 'printf qq[< %s >\n], $_ for @INC'


Verbatim.

Also, please attach a copy of the file(s) reported by running this command:

 /usr/bin/perl -e '-e "$_/Config.pm" && printf qq[%s/Config.pm\n], $_ for @INC'
Comment 7 Carlo 2019-01-29 09:44:52 UTC
sorry for the dealy, I was busy

/usr/bin/perl -e 'printf qq[< %s >\n], $_ for @INC'
< /etc/perl >
< /usr/local/lib/perl5/5.26.1/hppa2.0-linux >
< /usr/local/lib/perl5/5.26.1 >
< /usr/lib/perl5/vendor_perl/5.26.1/hppa2.0-linux >
< /usr/lib/perl5/vendor_perl/5.26.1 >
< /usr/local/lib/perl5 >
< /usr/lib/perl5/vendor_perl >
< /usr/lib/perl5/5.26.1/hppa2.0-linux >
< /usr/lib/perl5/5.26.1 >

/usr/bin/perl -e '-e "$_/Config.pm" && printf qq[%s/Config.pm\n], $_ for @INC'
/usr/lib/perl5/vendor_perl/Config.pm
/usr/lib/perl5/5.26.1/hppa2.0-linux/Config.pm
Comment 8 Carlo 2019-01-29 09:54:18 UTC
trying to piece together what happened before perl gone insane, I had issued the following command

emerge -p --update --changed-use  --deep --with-bdeps=y @world

which pulled the following 

[ebuild     U ~] dev-lang/perl-5.26.2 [5.26.1-r2]
[ebuild  N    ~] virtual/perl-Data-Dumper-2.167.0
[ebuild  N    ~] virtual/perl-Test-Harness-3.380.0
[ebuild  N     ] perl-core/File-Temp-0.230.400-r1
[ebuild  N     ] virtual/perl-File-Temp-0.230.400-r5
[ebuild  N    ~] virtual/perl-Carp-1.420.0
[ebuild  N     ] virtual/perl-Exporter-5.720.0-r3
[ebuild  N    ~] virtual/perl-Encode-2.880.0
[ebuild  N    ~] virtual/perl-Scalar-List-Utils-1.460.200_rc
[ebuild  N    ~] virtual/perl-File-Spec-3.670.0
[ebuild  N     ] virtual/perl-MIME-Base64-3.150.0-r4
[ebuild  N    ~] virtual/perl-Compress-Raw-Zlib-2.74.0
[ebuild  N    ~] virtual/perl-Getopt-Long-2.490.0
[ebuild  N    ~] virtual/perl-Time-Local-1.250.0-r1
[ebuild  N    ~] virtual/perl-XSLoader-0.270.0
[ebuild  N    ~] virtual/perl-Parse-CPAN-Meta-2.150.10-r1
[ebuild  N     ] virtual/perl-CPAN-Meta-YAML-0.18.0-r3
[ebuild  N    ~] virtual/perl-Digest-MD5-2.550.0
[ebuild  N     ] perl-core/File-Path-2.130.0
[ebuild  N    ~] virtual/perl-Storable-2.620.0
[ebuild  N    ~] virtual/perl-Compress-Raw-Bzip2-2.74.0-r1
[ebuild  N    ~] virtual/perl-parent-0.236.0-r1
[ebuild  N    ~] virtual/perl-IO-Socket-IP-0.380.0
[ebuild  N    ~] virtual/perl-version-0.991.700
[ebuild  N    ~] virtual/perl-podlators-4.90.0
[ebuild  N     ] virtual/perl-Text-ParseWords-3.300.0-r4
[ebuild  N    ~] virtual/perl-Perl-OSType-1.10.0-r1
[ebuild  N    ~] virtual/perl-Module-Metadata-1.0.33-r1
[ebuild  N    ~] virtual/perl-ExtUtils-ParseXS-3.340.0
[ebuild  N     ] virtual/perl-ExtUtils-Manifest-1.700.0-r5
[ebuild  N     ] virtual/perl-ExtUtils-Install-2.40.0-r3
[ebuild  N     ] virtual/perl-ExtUtils-CBuilder-0.280.225-r2
[ebuild  N    ~] virtual/perl-JSON-PP-2.274.0.200_rc
[ebuild  N     ] virtual/perl-Time-HiRes-1.974.100-r2
[ebuild  N    ~] virtual/perl-Digest-SHA-5.960.0
[ebuild     U  ] dev-perl/Text-Unidecode-1.300.0 [1.270.0]
[ebuild  N    ~] virtual/perl-IO-Compress-2.74.0-r1
[ebuild  N     ] virtual/perl-File-Path-2.130.0
[ebuild  N    ~] virtual/perl-CPAN-Meta-2.150.10-r1
[ebuild     U  ] dev-perl/TermReadKey-2.370.0 [2.330.0] USE="-examples%"
[ebuild     U  ] dev-perl/Module-Build-0.422.400 [0.421.600]
[ebuild     U  ] dev-perl/IO-Socket-SSL-2.52.0 [2.48.0]
[ebuild     U  ] dev-perl/SGMLSpm-1.1-r1 [1.03-r7]
[ebuild     U  ] dev-perl/Error-0.170.250 [0.170.240]
[ebuild     U  ] sys-devel/autoconf-2.13-r1 [2.13]
[ebuild  rR    ] dev-lang/python-3.6.5
[ebuild  rR    ] dev-lang/python-2.7.15
[ebuild  r  U #] sys-devel/gcc-7.3.0-r3 [7.3.0-r1] USE="(pie*)"
[ebuild   R    ] sys-devel/gcc-6.4.0-r1  USE="(pie*)"
[ebuild  rR   ~] dev-lang/php-7.2.14
[ebuild  NS    ] cross-mips64-unknown-linux-gnu/gcc-4.9.4 [5.3.0] USE="nls nptl vtv (-altivec) -awt (-cilk) -cxx -debug -doc (-fixed-point) -fortran (-gcj) -go -graphite -hardened -libssp -multilib -nopie -nossp -objc -objc++ -objc-gc -openmp -pgo -regression-test -sanitize -vanilla"
[ebuild  NS    ] cross-mips-unknown-linux-gnu/gcc-4.9.4 [5.3.0] USE="nls nptl vtv (-altivec) -awt (-cilk) -cxx -debug -doc (-fixed-point) -fortran (-gcj) -go -graphite -hardened -libssp -multilib -nopie -nossp -objc -objc++ -objc-gc -openmp -pgo -regression-test -sanitize -vanilla"
[ebuild  NS    ] cross-powerpc-unknown-linux-gnu/gcc-4.9.4 [5.3.0] USE="nls nptl vtv (-altivec) -awt (-cilk) -cxx -debug -doc (-fixed-point) -fortran (-gcj) -go -graphite -hardened -libssp -multilib -nopie -nossp -objc -objc++ -objc-gc -openmp -pgo -regression-test -sanitize -vanilla"

 * IMPORTANT: 24 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

------------

so trying to upgrade perl to dev-lang/perl-5.26.2, it then successfully emerged

 virtual/perl-ExtUtils-MakeMaker
 virtual/perl-Test-Harness
 virtual/perl-Data-Dumper
 virtual/perl-libnet
 virtual/perl-IO

then something went bad and =perl-5.26.1-r2 and/or something related to Perl got damaged and stop working; before the emerge --update perl v5.26.1-r2 was working.
Comment 9 Carlo 2019-01-29 10:13:36 UTC
Created attachment 563170 [details]
/usr/lib/perl5/5.26.1/hppa2.0-linux/Config.pm

/usr/lib/perl5/5.26.1/hppa2.0-linux/Config.pm
Comment 10 Carlo 2019-01-29 10:14:23 UTC
Created attachment 563172 [details]
/usr/lib/perl5/vendor_perl/Config.pm

/usr/lib/perl5/vendor_perl/Config.pm
Comment 11 Carlo 2019-01-29 12:27:22 UTC
Created attachment 563178 [details]
output of perl -V

I did run perl-cleaner --reallyall at some point, but it didn't help, the procedure did neither complete

so I wanted to try a wild approach

equery belongs /usr/lib/perl5/vendor_perl/Config.pm
didn't report any package belonging the file

whereas equery belongs /usr/lib/perl5/5.26.1/hppa2.0-linux/Config.pm
reported the file belonging to =dev-lang/perl-5.26.1-r2

anyway, I wiped both

rm /usr/lib/perl5/5.26.1/hppa2.0-linux/Config.pm
rm /usr/lib/perl5/vendor_perl/Config.pm

then I cleaned other things
emerge --ask --unmerge 'perl-core/*' 'virtual/perl-*'

and finally, I re-emerged perl
emerge =dev-lang/perl-5.26.1-r2


Surprisingly now perl "seems" (not really sure) of being working.

Attached the log of "perl -V"

I am going to run perl-cleaner again.
Comment 12 Carlo 2019-01-29 14:26:44 UTC
so after having a working perl 6.26.1, I launched 

emerge-log =dev-lang/perl-5.26.2

and yet again perl is broken

perl -V
strict.pm did not return a true value at /usr/lib/perl5/5.26.2/hppa2.0-linux/Config.pm line 9.
BEGIN failed--compilation aborted at /usr/lib/perl5/5.26.2/hppa2.0-linux/Config.pm line 9.
Compilation failed in require.
BEGIN failed--compilation aborted.
Comment 13 Carlo 2019-01-29 23:35:40 UTC
it seems, but I am not 100% sure about this, that something in dev-lang/perl-5.26.1 makes the system dirty.

So I wanted to try a radical approach this time

emerge --unmerge dev-lang/perl
emerge --deselect  perl-core/File-Temp
rm -r /usr/lib/perl5/vendor_perl  <--- other packages are broken now
emerge =dev-lang/perl-5.26.2      
perl-cleaner --reallyall          <--- but this should fix them


Now I am sure that things have emerged with perl-5.26.2
all the initial problems are gone now ...

... I hope once and forever :)


---- perl-cleaner --reallyall ----
emerge -v1 --backtrack=200 --selective=n www-client/elinks:0 sys-apps/texinfo:0 dev-python/subunit:0 perl-core/File-Temp:0 virtual/perl-File-Temp:0 app-text/po4a:0 net-fs/samba:0 dev-vcs/git:0 dev-perl/Sub-Name:0 dev-perl/HTML-Tagset:0 dev-perl/IPC-System-Simple:0 dev-perl/HTTP-Date:0 dev-perl/IO-HTML:0 dev-perl/File-Listing:0 dev-perl/Unicode-EastAsianWidth:0 dev-perl/Text-CSV_XS:0 dev-perl/Module-Build:0 dev-perl/Net-DBus:0 dev-perl/Net-SMTP-SSL:0 dev-perl/Authen-SASL:0 dev-perl/libwww-perl:0 dev-perl/WWW-RobotRules:0 dev-perl/TermReadKey:0 dev-perl/HTTP-Daemon:0 dev-perl/MailTools:0 dev-perl/Text-CharWidth:0 dev-perl/Text-Iconv:0 dev-perl/HTTP-Cookies:0 dev-perl/Text-Unidecode:0 dev-perl/File-MimeInfo:0 dev-perl/HTML-Parser:0 dev-perl/File-BaseDir:0 dev-perl/LWP-MediaTypes:0 dev-perl/Encode-Locale:0 dev-perl/IO-Socket-SSL:0 dev-perl/Socket6:0 dev-perl/Crypt-RC4:0 dev-perl/File-DesktopEntry:0 dev-perl/Locale-gettext:0 dev-perl/Try-Tiny:0 dev-perl/URI:0 dev-perl/Digest-HMAC:0 dev-perl/Error:0 dev-perl/TimeDate:0 dev-perl/HTTP-Message:0 dev-perl/Unicode-Map:0 dev-perl/libintl-perl:0 dev-perl/IO-stringy:0 dev-perl/Tie-IxHash:0 dev-perl/XML-Parser:0 dev-perl/Digest-Perl-MD5:0 dev-perl/Text-WrapI18N:0 dev-perl/HTTP-Negotiate:0 dev-perl/Net-SSLeay:0 dev-perl/Net-HTTP:0 dev-perl/OLE-StorageLite:0 dev-perl/XML-XPath:0 dev-perl/SGMLSpm:0 dev-perl/LWP-Protocol-https:0 dev-perl/Spreadsheet-ParseExcel:0 dev-perl/XML-Twig:0 dev-perl/X11-Protocol:0 dev-perl/IO-Socket-INET6:0
Comment 14 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2019-02-01 20:15:05 UTC
(In reply to Carlo from comment #7)

> /usr/bin/perl -e '-e "$_/Config.pm" && printf qq[%s/Config.pm\n], $_ for
> @INC'
> /usr/lib/perl5/vendor_perl/Config.pm
> /usr/lib/perl5/5.26.1/hppa2.0-linux/Config.pm


This is the smoking gun here. Combined with the fact the top "Config.pm" was an empty file.

I'm not sure *where* that file came from, but it should not exist, it should only exist in the versioned dir. ( /usr/lib/perl5/5.26.1/hppa2.0-linux/Config.pm )

So if the reason for a Config.pm existing somewhere else can be identified, then we can solve the bug.
Comment 15 Andreas K. Hüttel archtester gentoo-dev 2019-10-25 05:36:24 UTC
I fear this falls under either "heisenbug" or "local issue". Closing for now unless there is additional info...