Page 1 of 1

Downgrading perl in MacOs

Posted: 21 May 2019, 15:19
by ren
Ever since the latest MacOs update last Friday, I've had problems starting polymake (installed from the MacOs bundle) because perl was updated:

Code: Select all

mb029:~ yueren$ /Applications/polymake.app/Contents/MacOS/polymake.run ========================================================================== your perl version (5.18.4) does not match the perl version this app was built for (5.18.2) please download and install the version of polymake that corresponds to the version of your system perl You can find the version number by executing /usr/bin/perl --version in a terminal. If there is no version of the polymake app matching your perl version please contact us at http://forum.polymake.org ==========================================================================
Does anybody have any experience with downgrading perl on MacOs? I have tried using perlbrew, with which I can start a subshell in which perl-1.18.2 is the default but that doesn't seem to fix the issue:

Code: Select all

mb029:~ yueren$ perl --version This is perl 5, version 18, subversion 4 (v5.18.4) built for darwin-thread-multi-2level (with 2 registered patches, see perl -V for more detail) Copyright 1987-2013, 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. mb029:~ yueren$ perlbrew switch perl-5.18.2 A sub-shell is launched with perl-5.18.2 as the activated perl. Run 'exit' to finish it. bash-3.2$ perl --version This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-2level (with 1 registered patch, see perl -V for more detail) Copyright 1987-2013, 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. bash-3.2$ /Applications/polymake.app/Contents/MacOS/polymake.run ========================================================================== your perl version (5.18.4) does not match the perl version this app was built for (5.18.2) please download and install the version of polymake that corresponds to the version of your system perl You can find the version number by executing /usr/bin/perl --version in a terminal. If there is no version of the polymake app matching your perl version please contact us at http://forum.polymake.org ========================================================================== bash-3.2$ /Applications/polymake.app/Contents/MacOS/polymake.start Can't locate loadable object for module Polymake::Ext in @INC (@INC contains: /Applications/polymake.app/Contents/Resources/polymake/share/polymake/perllib /Applications/polymake.app/Contents/Resources/polymake/lib/polymake/perlx /Applications/polymake.app/Contents/Resources/perl5 /Applications/polymake.app/Contents/Resources/perl5/lib/perl5/darwin-thread-multi-2level /Applications/polymake.app/Contents/Resources/perl5/lib/perl5 /Applications/polymake.app/Contents/Resources/perl5/lib/perl5/darwin-thread-multi-2level/ /Applications/polymake.app/Contents/Resources/polymake/lib/polymake/lib/ /Applications/polymake.app/Contents/Resources/polymake/lib/polymake/perlx/ /Applications/polymake.app/Contents/Resources/polymake/share/polymake/perllib/ /Library/Perl/5.18/darwin-thread-multi-2level /Library/Perl/5.18 /Network/Library/Perl/5.18/darwin-thread-multi-2level /Network/Library/Perl/5.18 /Library/Perl/Updates/5.18.4 /System/Library/Perl/5.18/darwin-thread-multi-2level /System/Library/Perl/5.18 /System/Library/Perl/Extras/5.18/darwin-thread-multi-2level /System/Library/Perl/Extras/5.18 .) at /Applications/polymake.app/Contents/Resources/polymake/share/polymake/perllib/Polymake/Namespaces.pm line 17. Compilation failed in require at /Applications/polymake.app/Contents/Resources/polymake/share/polymake/perllib/Polymake/Namespaces.pm line 17. BEGIN failed--compilation aborted at /Applications/polymake.app/Contents/Resources/polymake/share/polymake/perllib/Polymake/Namespaces.pm line 17. Compilation failed in require at /Applications/polymake.app/Contents/Resources/polymake/share/polymake/perllib/Polymake.pm line 27. BEGIN failed--compilation aborted at /Applications/polymake.app/Contents/Resources/polymake/share/polymake/perllib/Polymake.pm line 27. Compilation failed in require at /Applications/polymake.app/Contents/Resources/polymake/bin/polymake line 166. BEGIN failed--compilation aborted at /Applications/polymake.app/Contents/Resources/polymake/bin/polymake line 166.
Any thanks is much appreciated!

Re: Downgrading perl in MacOs

Posted: 21 May 2019, 15:43
by paffenholz
I was not aware of this perl update in 10.14.5 and I don't see it documented somewhere. Nice.

Until now 5.18.2 was the only system perl available on 10.11 to 10.14, so this was stable for around two years now. And considering that by now there is perl 5.28 available, going from 5.18.2 to 5.18.4 is a pretty impressive move.

Unless there is some option on MacOS to switch the system perl back to 5.18.2 there is not much you can do until I can provide a new precompiled bundle for 10.14 with perl 5.18.4. The bundle deliberately only accepts the system perl as we cannot handle various perl versions in one precompiled package and mismatching perl versions was the one major source of complaints when we just picked up perl from the path in the beginning. Bringing any other perl to the front in the path does not help, it will not be used.

For compiling a bundle I need a machine with 10.14 and perl 5.18.4 first. I will need some time for this. Until then your best option is to compile your own polymake, which is rather simple using homebrew/perlbrew. you seem to have those installed anyway.

Re: Downgrading perl in MacOs

Posted: 21 May 2019, 16:07
by ren
Okay, I'll give compiling polymake a shot. Thanks for the very quick reply!

Re: Downgrading perl in MacOs

Posted: 23 Dec 2019, 14:16
by tmcm
Hello,

I have the same problem with the lastest version of polymake for macos. How can this be resolved without having to compile from the source? Can anyhow provided a compiled with version that works with perl 5.18.4?

thanks,
Piierre

Re: Downgrading perl in MacOs

Posted: 28 Dec 2019, 22:50
by paffenholz
Unfortunately we will probably not be able to provide binaries for 10.14.5 soon, as I don't have access to a Mac or a virtual machine with this version of MacOS. I will try to provide binaries for 10.15 (Catalina) sometime in January for the (then) current release of polymake. Switching the perl version with a minor release of the OS was an unfortunate move of apple.

Until then you can try and compile polymake yourself. You can download from here. This needs some additional software, which can be obtained via homebrew. This page has a line mentioning homebrew in the section on Preparation and one in the section on Compiling polymake with all necessary bash commands.

Andreas