On 01/06/2018 08:08 PM, Niko Tyni wrote: > Running polymake currently fails with > > $ polymake > Can't locate loadable object for module Polymake::Ext in @INC > > Apparently this is because it was built with Perl 5.26.0, but > we've since moved to 5.26.1. > > I see two better alternatives: > > 1) [preferrable] fix polymake not to install its extensions in a > versioned directory (currently /usr/lib/polymake/perlx/5.26.0).
This would work for minor updates (5.26.0 -> 5.26.1 seems to work) but the extension does depend heavily on the major version, so I dont think this is a good idea. > I note that the confusing @INC list above (it has > /usr/lib/polymake/perlx/5.26.0 so it looks like it should work) is > because "use lib" will add versioned subdirectories to @INC if it > finds any, but will apparently *not* add arch-specific subdirectories > (like /usr/lib/polymake/perlx/5.26.0/x86_64-linux-gnu-thread-multi) > under those, and that's what would be needed here. I'm not quite sure > if this is a glitch in lib.pm's handling of binary-compatible versions > ($Config{inc_version_list}). This is a good point, it looks like the Config.pm contains: inc_version_list => '5.26.0', but the perl INSTALL file states: > If you do want to use modules from some previous perl versions, the > variable must contain a space separated list of directories under the > site_perl directory, and has to include architecture-dependent > directories separately, eg. > > sh Configure -Dinc_version_list="5.16.0/x86_64-linux 5.16.0" ... It seems the perl Configure script tries to generate this list automatically (probably from $sitelib=/usr/local/share/perl/5.26.1) but failed to pick up the arch-specific directory because it might not exist? I dont have such an installation at hand but this could be tested by adding the arch-specific path for inc_version_list in '/usr/lib/x86_64-linux-gnu/perl/5.26.1/Config.pm' manually first. If this helps, the Configure command for perl should probably get an extra -Dinc_version_list=. Best, Benjamin
signature.asc
Description: OpenPGP digital signature