Perl 库路径变更

perl 软件包现在为编译后的模块使用版本化的路径。这意味着为不匹配的 perl 版本构建的模块将不再被加载,并且必须重新构建。

pacman 钩子会在升级期间警告受影响的模块,并显示如下输出

WARNING: '/usr/lib/perl5/vendor_perl' contains data from at least 143 packages which will NOT be used by the installed perl interpreter.
 -> Run the following command to get a list of affected packages: pacman -Qqo '/usr/lib/perl5/vendor_perl'

您必须针对新的 perl 软件包重新构建所有受影响的软件包,然后才能再次使用它们。此更改还会影响直接通过 CPAN 安装的模块。对于未来的 perl 主要更新(如 5.28 和 5.30),也需要再次重新构建。

请注意,在此更改之前,主要更新已经需要重新构建,但是现在 perl 将不再尝试加载模块,然后以奇怪的方式失败。

如果某些软件的构建系统未自动检测到此更改,您可以在您的 PKGBUILD 中使用 perl -V:vendorarch 查询 perl 以获取正确的路径。对于未使用 pacman 打包的软件,还有 sitearch