Package: polymake Version: 3.1-5 Severity: grave X-Debbugs-Cc: p...@packages.debian.org
Running polymake currently fails with $ polymake Can't locate loadable object for module Polymake::Ext in @INC (@INC contains: /usr/share/polymake/perllib /usr/lib/polymake/perlx/5.26.0 /usr/lib/polymake/perlx /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/polymake/perllib/Polymake/Namespaces.pm line 17. Compilation failed in require at /usr/share/polymake/perllib/Polymake/Namespaces.pm line 17. BEGIN failed--compilation aborted at /usr/share/polymake/perllib/Polymake/Namespaces.pm line 17. Compilation failed in require at /usr/share/polymake/perllib/Polymake.pm line 27. BEGIN failed--compilation aborted at /usr/share/polymake/perllib/Polymake.pm line 27. Compilation failed in require at /usr/bin/polymake line 162. BEGIN failed--compilation aborted at /usr/bin/polymake line 162. Apparently this is because it was built with Perl 5.26.0, but we've since moved to 5.26.1. There's an open binnmu request at #883933 but I don't think that's the correct way to fix this as it makes no provisions for partial upgrades. 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 may be as simple as --- a/lib/core/src/perl/Makefile.PL +++ b/lib/core/src/perl/Makefile.PL @@ -140,7 +140,7 @@ WriteMakefile( LIBS => "$libpaths $AddLibs", DEFINE => "-DPerlVersion=$numvers -Wno-nonnull".($coverage && ' -DPMCollectCoverage=1'), INC => "-I$TOP/include/core", - LIB => "\$(InstallDir)/perlx/$Config::Config{version}", + LIB => "\$(InstallDir)/perlx", MAN3PODS => { }, @optimize, ); but I haven't tested that (the package is huge...) 2) [less preferrable] add binnmu-safe strict dependencies on the current Perl version. See for instance libdevel-cover-perl for an example of how to do this. If you do this, please let p...@packages.debian.org know so we can update https://wiki.debian.org/PerlMaintenance#New_upstream_release_checklist (and/or feel free to add to it yourself.) 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}). Hope this helps a bit, -- Niko