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

