Perl 5.22

Discussions on installation issues go here.
jamesjer
Posts: 35
Joined: 01 Mar 2012, 16:51

Perl 5.22

Postby jamesjer » 02 Jul 2015, 04:39

Fedora Rawhide recently moved to perl 5.22, and the polymake build is now broken. To complicate matters, we are currently stuck on Singular 3.x, since sagemath has not yet made the switch to Singular 4.x, so I cannot build polymake 2.14, but am instead stuck on the last 2.13 beta. I hope we can do something about this soon, but for the moment I need to figure out how to build that last beta with perl 5.22. I've come up with the attached patch. I suspect that the definition of SetPadnamesOfCurrentSub is wrong, but I'm not sure how. Certainly something is wrong, as attempting to build the documentation fails like this:
/usr/bin/perl perl/polymake --ignore-config --script generate_docs /builddir/build/BUILDROOT/polymake-2.13-24.git20141013.fc23.x86_64/usr/share/polymake/doc common fulton polytope group graph ideal fan tropical matroid topaz
reference to an undeclared variable $VERSION at /usr/lib64/perl5/re.pm line 7.
Compilation failed in require at /builddir/build/BUILD/polymake-polymake-10d8dab/perllib/Polymake/utils.pl line 287.
BEGIN failed--compilation aborted at /builddir/build/BUILD/polymake-polymake-10d8dab/perllib/Polymake/utils.pl line 287.
Compilation failed in require at /builddir/build/BUILD/polymake-polymake-10d8dab/perllib/Polymake.pm line 62.
Compilation failed in require at perl/polymake line 168.
BEGIN failed--compilation aborted at perl/polymake line 168.
Makefile:179: recipe for target 'release-docs' failed
Any hints about how to fix the build with perl 5.22 would be most gratefully accepted. Thank you.
Attachments
polymake-perl522.patch
(2.95 KiB) Downloaded 360 times

User avatar
gawrilow
Main Author
Posts: 423
Joined: 25 Dec 2010, 17:40

Re: Perl 5.22

Postby gawrilow » 04 Jul 2015, 11:24

Adapting polymake to new perl versions has always been a special adventure, we've got to do it now again.
Surely your patch is a valuable contribution to start with, thanks a lot for posting it! But probably there is more to fix. We have a special testsuite for perl migrations, it will show us how much is missing. Keep tuned!

User avatar
gawrilow
Main Author
Posts: 423
Joined: 25 Dec 2010, 17:40

Re: Perl 5.22

Postby gawrilow » 06 Jul 2015, 00:06

An update:

The changes introduced with perl 5.22 are too serious to be fixed with a small patch. In particular, they have introduced a new kind of optimization of the translated script representation (op tree) which is not compatible with extensions needed by polymake. I'm afraid, it could turn out as necessary to rework some substantial portions of polymake core functions. Currently I can't promise a soon remedy. I'll try my best, however.

jamesjer
Posts: 35
Joined: 01 Mar 2012, 16:51

Re: Perl 5.22

Postby jamesjer » 06 Jul 2015, 03:49

Well, that sounds painful. Thanks for looking into the matter. I wish you luck in adapting to the new perl op tree code. While you are working on that, I will try to do something about the Singular situation in Fedora.

User avatar
gawrilow
Main Author
Posts: 423
Joined: 25 Dec 2010, 17:40

Re: Perl 5.22

Postby gawrilow » 15 Jul 2015, 23:46

A heads-up: code adaptations for perl 5.22 have passed the mass tests, a new snapshot is being prepared for publishing at GitHub.

Note: the new code will be a 2.15-beta version, we haven't tried to back-port the adaptations to older versions (actually, we've hardly ever done this because of permanent acute shortage of human resources). If you are definitely and inescapably bound to polymake 2.13 for a while, you might try to apply the diff of lib/core/{src,include}/perl/* between the current snapshot and the upcoming one to your code base, but please be aware that the difference between 2.13 and current code base is quite significant; the patched code may fail unpredictably.

User avatar
assarf
Developer
Posts: 74
Joined: 12 Oct 2011, 15:52

Re: Perl 5.22

Postby assarf » 16 Jul 2015, 10:16

the snapshot is live since yesterday
no signature


Return to “Installing polymake”