You are not logged in.

#1 2014-06-04 16:42:50

prawn
Member
Registered: 2011-11-24
Posts: 10

Perl 5.20 upgrade

Hello all,

Having a spare machine to dick about with and being a heavy user of perl, I thought I'd try an upgrade having read the announcement.

The biggest issue to me is that the DateTime module core dumps - a full list of modules on my perl environment affected is below.

Unicode::String
Audio::FLAC::Header
SVN::_Core
SVN::_Ra
SVN::_Repos
SVN::_Wc
SVN::_Fs
SVN::_Delta
SVN::_Client
DateTime
Tk::Menubutton
Tk::Entry
HTML::Parser

So, building  perl-datetime from abs results in a core dump.

prawn@queeg ~/src/perl-datetime $ makepkg 
==> Making package: perl-datetime 1.10-1 (Wed  4 Jun 17:36:21 BST 2014)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading DateTime-1.10.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  175k  100  175k    0     0  66827      0  0:00:02  0:00:02 --:--:-- 66880
==> Validating source files with md5sums...
    DateTime-1.10.tar.gz ... Passed
==> Extracting sources...
  -> Extracting DateTime-1.10.tar.gz with bsdtar
==> Starting build()...
Module::Build will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at Build.PL, line 6.
Checking prerequisites...
  test_requires:
    !  Test::Warnings is not installed

ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions
of the modules indicated above before proceeding with this installation

Run 'Build installdeps' to install missing prerequisites.

Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'DateTime' version '1.10'
Module::Build will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at ./Build, line 40.
Building DateTime
cc -Ic -I/usr/lib/perl5/core_perl/CORE -DVERSION="1.10" -DXS_VERSION="1.10" -fPIC -c -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -o lib/DateTime.o lib/DateTime.c
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/DateTime/DateTime.bs')
cc -shared -Wl,-O1,--sort-common,--as-needed,-z,relro -L/usr/local/lib -fstack-protector -o blib/arch/auto/DateTime/DateTime.so lib/DateTime.o
/home/prawn/src/perl-datetime/PKGBUILD: line 20: 26751 Segmentation fault      (core dumped) ./Build
==> ERROR: A failure occurred in build().

Thoughts? Or do I wait.

Last edited by prawn (2014-06-04 17:12:23)

Offline

#2 2014-06-04 20:20:25

Jonhoo
Member
Registered: 2009-05-23
Posts: 113

Re: Perl 5.20 upgrade

Yeah, I'm perl segfaults all over the place too, including when running the script by Florian Pritz linked to in the 5.20 announcement. In particular, it crashes when it tries to call module-to-dist.pl.

$ ./perl-rebuild.sh 
./perl-rebuild.sh: line 28: 13626 Segmentation fault      (core dumped) ./module-to-dist.pl < $tmpdir/perl-modules.txt > $tmpdir/perl-dists.txt
results are in "/tmp/find-broken-perl-package.UkYT61W8"
$ cd /tmp/find-broken-perl-package.UkYT61W8
$ cat perl-modules.txt 
Pango
Gtk2
Image::Magick
Irssi::Irc
Irssi::UI
Irssi::TextUI
Glib
$ cat raw.txt 
/usr/lib/perl5/vendor_perl/auto/Pango/Pango.so
/usr/lib/perl5/vendor_perl/auto/Gtk2/Gtk2.so
/usr/lib/perl5/vendor_perl/auto/Image/Magick/Magick.so
/usr/lib/perl5/vendor_perl/auto/Irssi/Irc/Irc.so
/usr/lib/perl5/vendor_perl/auto/Irssi/UI/UI.so
/usr/lib/perl5/vendor_perl/auto/Irssi/TextUI/TextUI.so
/usr/lib/perl5/vendor_perl/auto/Glib/Glib.so
$ cat pacman.txt 
glib-perl
gtk2-perl
imagemagick
irssi
pango-perl

Offline

#3 2014-06-04 21:40:26

Jonhoo
Member
Registered: 2009-05-23
Posts: 113

Re: Perl 5.20 upgrade

So, I did some more digging, and found that there were a number of files present in both site_perl and core_perl in /usr/lib/perl5. Decided to remove any files in site_perl that were already in core_perl, and that seems to have fixed the problem. Don't know if it might have some bad side-effects though..:

$ cd /usr/lib/perl5
$ diff -qr site_perl/ core_perl/ | grep differ | awk '{print $2}' | xargs sudo rm

BEWARE, THIS WILL DELETE A BUNCH OF FILES

Last edited by Jonhoo (2014-06-04 21:41:46)

Offline

#4 2014-06-04 22:07:24

prawn
Member
Registered: 2011-11-24
Posts: 10

Re: Perl 5.20 upgrade

Update - the new perl-datetime module has propagated down and is playing nicely.

I'll have a deeper look tomorrow morning.

Offline

#5 2014-06-04 22:56:09

ceri
Member
Registered: 2013-10-12
Posts: 51

Re: Perl 5.20 upgrade

I upgraded and I'm still getting the following output from that checker script:

SVN::_Repos
SVN::_Core
SVN::_Fs
SVN::_Client
SVN::_Ra
SVN::_Wc
SVN::_Delta

But subversion was updated via pacman?

Offline

#6 2014-06-05 01:42:49

amish
Member
Registered: 2014-05-10
Posts: 154

Re: Perl 5.20 upgrade

As per: https://mailman.archlinux.org/pipermail … 26359.html

My system does not have perl-scalar-list-utils, do I still have to install it if it is not installed?

Offline

#7 2014-06-05 01:51:38

amish
Member
Registered: 2014-05-10
Posts: 154

Re: Perl 5.20 upgrade

Jonhoo wrote:

So, I did some more digging, and found that there were a number of files present in both site_perl and core_perl in /usr/lib/perl5.

Strange, I dont have any file in site_perl. i.e. the directory is completely empty.

Offline

#8 2014-06-05 02:07:43

anatolik
Developer
Registered: 2012-09-27
Posts: 387

Re: Perl 5.20 upgrade

Jonhoo wrote:

So, I did some more digging, and found that there were a number of files present in both site_perl and core_perl in /usr/lib/perl5. Decided to remove any files in site_perl that were already in core_perl, and that seems to have fixed the problem. Don't know if it might have some bad side-effects though..:

$ cd /usr/lib/perl5
$ diff -qr site_perl/ core_perl/ | grep differ | awk '{print $2}' | xargs sudo rm

Files in site_perl most likely installed by CPAN. These binaries compiled for previous version of Perl (5.18) and not going to work with 5.20. All the Arch packages install files into vendor_perl. But because perl interpreter searches files in site_perl first and only then in vendor_perl you get outdate binaries. You either need reinstall packages in site_perl or use binary Arch packages.

I had similar issue during migration to perl 5.18, to fix it I removed site_perl. I've decided do not use system CPAN.

Last edited by anatolik (2014-06-05 02:07:56)

Offline

#9 2014-06-05 08:18:39

Jonhoo
Member
Registered: 2009-05-23
Posts: 113

Re: Perl 5.20 upgrade

anatolik wrote:

Files in site_perl most likely installed by CPAN. These binaries compiled for previous version of Perl (5.18) and not going to work with 5.20. All the Arch packages install files into vendor_perl. But because perl interpreter searches files in site_perl first and only then in vendor_perl you get outdate binaries. You either need reinstall packages in site_perl or use binary Arch packages.

I had similar issue during migration to perl 5.18, to fix it I removed site_perl. I've decided do not use system CPAN.

Unfortunately, I need some of those packages, but obviously not the ones that are already present in core_perl. Removing the duplicates let me run the CPAN CLI again, and after a "cpan upgrade", everything now seems to be back to normal.

Offline

#10 2014-06-05 17:27:54

bluewind
Administrator
From: Austria
Registered: 2008-07-13
Posts: 168
Website

Re: Perl 5.20 upgrade

ceri wrote:

I upgraded and I'm still getting the following output from that checker script:

SVN::_Repos
...

False positives. subversion has a bunch of modules and some are not supposed to be loaded directly, but my script just tries to load everything it can find and those obviously generate some error.


"Everything should be made as simple as possible, but not simpler."
-- Albert Einstein

Offline

#11 2014-06-05 17:31:36

bluewind
Administrator
From: Austria
Registered: 2008-07-13
Posts: 168
Website

Re: Perl 5.20 upgrade

Jonhoo wrote:

Unfortunately, I need some of those packages, but obviously not the ones that are already present in core_perl. Removing the duplicates let me run the CPAN CLI again, and after a "cpan upgrade", everything now seems to be back to normal.

Did you take a look at perl-cpanplus-dist-arch? run setupdistarch after installation and cpanp will then generate pacman packages for cpan modules and install them just like normal repo packages to vendor_perl so you also won't have to reinstall stuff if you decide to install packages from aur that have dependencies on modules you already have.


"Everything should be made as simple as possible, but not simpler."
-- Albert Einstein

Offline

#12 2014-06-05 17:53:59

robin67
Member
From: the Netherlands
Registered: 2012-02-18
Posts: 38

Re: Perl 5.20 upgrade

bluewind wrote:
ceri wrote:

I upgraded and I'm still getting the following output from that checker script:

SVN::_Repos
...

False positives. subversion has a bunch of modules and some are not supposed to be loaded directly, but my script just tries to load everything it can find and those obviously generate some error.

I have MythTV in /usr/lib/perl5/site_perl/auto

So /usr/lib/perl5/site_perl/auto/MythTV

And MythTV is of the repo

Should I move/delete this or just not worry about it ?

Offline

#13 2014-06-05 18:47:28

bluewind
Administrator
From: Austria
Registered: 2008-07-13
Posts: 168
Website

Re: Perl 5.20 upgrade

Arch packages should install to vendor_perl. I guess you could open a bugreport. "pkgfile -vr site_perl" shows a couple other packages that should likely be fixed.


"Everything should be made as simple as possible, but not simpler."
-- Albert Einstein

Offline

#14 2014-06-06 08:42:13

gandalfmagic
Member
Registered: 2012-08-17
Posts: 8

Re: Perl 5.20 upgrade

Hello

I've noticed that some of my perl libraries complain about version format after 5.20 update.
I've already recompiled all my CPAN/aur libs, but I'm still not able to launch some of my software.

For example, the following is the error I get when I try to launch PAC Manager from command line:

$ pac
Invalid version format (non-numeric data) at /usr/lib/perl5/core_perl/IO/Socket.pm line 13.
BEGIN failed--compilation aborted at /usr/lib/perl5/core_perl/IO/Socket.pm line 13.
Compilation failed in require at /usr/lib/perl5/core_perl/IO/Socket/INET.pm line 11.
BEGIN failed--compilation aborted at /usr/lib/perl5/core_perl/IO/Socket/INET.pm line 11.
Compilation failed in require at /usr/share/pacmanager/lib/PACTerminal.pm line 38.
BEGIN failed--compilation aborted at /usr/share/pacmanager/lib/PACTerminal.pm line 38.
Compilation failed in require at /usr/share/pacmanager/lib/PACMain.pm line 58.
BEGIN failed--compilation aborted at /usr/share/pacmanager/lib/PACMain.pm line 58.
Compilation failed in require at /usr/bin/pac line 62.
BEGIN failed--compilation aborted at /usr/bin/pac line 62.

I've found that perl software works normally when I change LC_ALL to en_US:

$ LC_ALL="en_US.utf8" pac

Here is my locale command output:

$ locale
LANG=it_IT.UTF-8
LC_CTYPE=it_IT.UTF-8
LC_NUMERIC=it_IT.utf8
LC_TIME=it_IT.utf8
LC_COLLATE=C
LC_MONETARY=it_IT.utf8
LC_MESSAGES="it_IT.UTF-8"
LC_PAPER=it_IT.utf8
LC_NAME="it_IT.UTF-8"
LC_ADDRESS="it_IT.UTF-8"
LC_TELEPHONE="it_IT.UTF-8"
LC_MEASUREMENT=it_IT.utf8
LC_IDENTIFICATION="it_IT.UTF-8"
LC_ALL=

So, I suppose this is relate to decimal separator (, in it_IT).

How can I fix it?

Offline

#15 2014-06-06 12:45:32

Mektub
Member
From: Lisbon /Portugal
Registered: 2008-01-02
Posts: 647

Re: Perl 5.20 upgrade

I am having problems with "checkgmail" since the upgrade of "perl" three days ago, and tried many things but I always get:

Warning: Gtk2::TrayIcon not found ...
Warning: threads not found ...
Warning: Thread::Queue not found ...
Warning: Thread::Semaphore not found ...
Warning: threads::shared not found ...
Warning: Encode not found ...
Warning: FileHandle not found ...
Warning: LWP::UserAgent not found ...
Warning: LWP::Protocol::https not found ...

and a message:

CheckGmail v1.14pre2-svn
Copyright © 2005-6, Owen Marshall
			
Sorry!  CheckGmail can't find the following package(s) on your system.  These packages are needed for CheckGmail to run.

 Gtk2::TrayIcon  threads  Thread::Queue  Thread::Semaphore  threads::shared  Encode  FileHandle  LWP::UserAgent  LWP::Protocol::https  

The threads packages are special: this means you're running a version of Perl that has been built without multi-threading support.  There may be a package for your distro that provides this, or you may have to rebuild Perl.

You'll also have to install the other packages listed above, and then run CheckGmail again ...
					
If that fails, you might have to download and install the packages from CPAN (http://search.cpan.org)

I reinstalled all perl dependecies ( perl-crypt-blowfish perl-crypt-simple perl-freezethaw perl-gtk2-trayicon perl-lwp-protocol-https perl-xml-simple perl-gtk2-sexy (optional) gendesk) but no joy.

I uninstalled "checkgmail" and all dependencies and installed everything again, to no avail.

Any suggestions ?

Mektub

Last edited by Mektub (2014-06-06 12:46:17)


Follow me on twitter: https://twitter.com/johnbina

Offline

#16 2014-06-06 14:28:04

gandalfmagic
Member
Registered: 2012-08-17
Posts: 8

Re: Perl 5.20 upgrade

Mektub wrote:

I am having problems with "checkgmail" since the upgrade of "perl" three days ago, and tried many things but I always get:
...
Mektub

Hi Mektub, I've tried the same workaround for my problem, and it works for me.
Can you confirm it works if you launch it from command line with the following syntax?

LC_ALL="en_US.utf8" checkgmail

Last edited by gandalfmagic (2014-06-06 14:29:16)

Offline

#17 2014-06-06 14:36:17

Mektub
Member
From: Lisbon /Portugal
Registered: 2008-01-02
Posts: 647

Re: Perl 5.20 upgrade

gandalfmagic wrote:
Mektub wrote:

I am having problems with "checkgmail" since the upgrade of "perl" three days ago, and tried many things but I always get:
...
Mektub

Hi Mektub, I've tried the same workaround for my problem, and it works for me.
Can you confirm it works if you launch it from command line with the following syntax?

LC_ALL="en_US.utf8" checkgmail

gandalfmagic,

YES! That was it !
You saved my day (week, month) !

Many many thanks !

Mektub

Last edited by Mektub (2014-06-06 18:10:28)


Follow me on twitter: https://twitter.com/johnbina

Offline

#18 2014-06-06 19:46:15

bluewind
Administrator
From: Austria
Registered: 2008-07-13
Posts: 168
Website

Re: Perl 5.20 upgrade

http://search.cpan.org/~rjbs/perl-5.20. … cale_scope

Last edited by bluewind (2014-06-06 19:46:57)


"Everything should be made as simple as possible, but not simpler."
-- Albert Einstein

Offline

#19 2014-06-09 12:02:36

davehardy20
Member
Registered: 2012-08-12
Posts: 12

Re: Perl 5.20 upgrade

Hi, I upgraded perl to 5.20, and have been trying to upgrade my cpan installed modules.
When I run perl -MCPAN -e shell, the error message;
Segmentation fault (core dumped)
I'm not a perl expert but I have read all of the posts in the forums I can find but nothing fixes the error.
Could someone help please.

Last edited by davehardy20 (2014-06-09 12:08:05)

Offline

#20 2014-06-09 13:43:41

biggsean
Member
Registered: 2014-06-09
Posts: 1

Re: Perl 5.20 upgrade

I cannot seem to locate module-to-dist.pl.  when i run the script i get that it is not found.  can someone tell me what i am missing?

thanks

Offline

#21 2014-06-09 16:21:14

karol
Archivist
Registered: 2009-05-06
Posts: 25,433

Re: Perl 5.20 upgrade

biggsean wrote:

I cannot seem to locate module-to-dist.pl.  when i run the script i get that it is not found.  can someone tell me what i am missing?

thanks

http://git.server-speed.net/users/flo/b … to-dist.pl

Offline

#22 2014-06-09 22:12:04

montefuscolo
Member
From: Brasil, São Paulo
Registered: 2013-12-17
Posts: 4
Website

Re: Perl 5.20 upgrade

My system broken after this update. Apps like chromium and terminator throws a segmentation fault. I tried the find-broken-perl-packages.sh, but I don't know what to do with results. I reinstalled broken packages without success.

So reinstalled all packages from /var/cache/pacman/pkg that is older than 13 days. Chromium and Terminator works again!! smile

But, how to upgrade perl 5.20 without break apps ??

Offline

#23 2014-06-09 22:35:20

montefuscolo
Member
From: Brasil, São Paulo
Registered: 2013-12-17
Posts: 4
Website

Re: Perl 5.20 upgrade

Hi!

I found the package that caused problems here. The package is libxcursor.

I upgraded only this package and my system now is broken. But I saw this happen only in Antergos (3 computers). I do not get this error in pure Archlinux.

Offline

#24 2014-06-10 10:50:49

karol
Archivist
Registered: 2009-05-06
Posts: 25,433

Re: Perl 5.20 upgrade

montefuscolo wrote:

I saw this happen only in Antergos (3 computers). I do not get this error in pure Archlinux.

We don't care about other distros https://wiki.archlinux.org/index.php/Fo … pport_ONLY

Offline

#25 2014-06-10 14:13:44

Emoryy
Member
From: Hungary
Registered: 2013-10-25
Posts: 22

Re: Perl 5.20 upgrade

When I first tried to run the find-broken-perl-packages.sh, it said that module-to-dist.pl is missing.
I downloaded that, and tried again. It creates the output folders and files in tmp, but the files are empty.
Furthermore the script gives the following output (maybe not the exact same error message, I'm using hungarian locale, so I translated it back to english now)

error: there is no target specified (use '-h' for help)
results are in "/tmp/find-broken-perl-package.rgeADdNl"

I would like to use gmusicbrowser, and it gives the following error:

Invalid version format (non-numeric data) at /usr/lib/perl5/core_perl/Encode.pm line 12.
BEGIN failed--compilation aborted at /usr/lib/perl5/core_perl/Encode.pm line 12.
Compilation failed in require at /usr/bin/gmusicbrowser line 26.
BEGIN failed--compilation aborted at /usr/bin/gmusicbrowser line 26.

Or for example gtk-youtube-viewer:

Invalid version format (non-numeric data) at /usr/share/perl5/site_perl/File/ShareDir.pm line 108.
BEGIN failed--compilation aborted at /usr/share/perl5/site_perl/File/ShareDir.pm line 108.
Compilation failed in require at /usr/bin/gtk-youtube-viewer line 38.
BEGIN failed--compilation aborted at /usr/bin/gtk-youtube-viewer line 38.

I also tried this command from before, but it didn't make a difference:

$ cd /usr/lib/perl5
$ diff -qr site_perl/ core_perl/ | grep differ | awk '{print $2}' | xargs sudo rm

toshiba satellite a300-1no, core2duo t5800@2ghz, 3gb ddr2, 120gb ocz vertex 3, 250gb wd scorpio blue, ati radeon hd3470

Offline

Board footer

Powered by FluxBB