perl升级后shutter程序无法运行的修复

这个问题真的很无语,perl升级后一些依赖perl的aur包不能用了,需要rebuild,这样让系统稳定性何在……

运行shutter错误信息:

$ shutter  
Can't locate Gnome2.pm in @INC (you may need to install the Gnome2 module) (@INC contains:  /usr/lib/perl5/5.26/site_perl  /usr/share/perl5/site_perl  /usr/lib/perl5/5.26/vendor_perl  /usr/share/perl5/vendor_perl  /usr/lib/perl5/5.26/core_perl   /usr/share/perl5/core_perl  ) at /usr/bin/shutter line 37. BEGIN failed--compilation aborted at /usr/bin/shutter line 37.  

我在论坛上看到有个解决方案:

pacman -Qqo '/usr/lib/perl5/vendor_perl' | xargs pacaur -Syu --rebuild

但是我并没有找到perl5下的vendor_perl,这个解决不了我的问题。

自己摸索了下解决方案如下:

trizen看看安装了哪些perl相关的包:

trizen -Ss perl|grep "[installed]"

终端运行shutter时,提示没有Gnome2,其实就是上面installed中“gnome-perl”模块的问题,需要对它rebuild。

但你会发现rebuild不会成功,提示canvas模块出错,那你要先rebuild “gnomecanvas-perl”模块,然后它又提示VFS模块出错…

反正最后尝试下来大概这几个:

pacaur -S --rebuild gnomecanvas-perl gnome-vfs-perl gnome-perl perl-gnome2-wnck perl-gtk2-imageview perl-gtk2-unique

这一个个试也够麻烦的,直接把installed列出的perl模块都rebuild一遍算了,谁知道有多少包受影响呢:

trizen -Ss perl|grep "[installed]" | tr '/' ' '|awk '{print $2}' | xargs pacaur -S --rebuild



trizen -Ss perl|grep "[已安装]"

原文地址:https://www.cnblogs.com/dylanchu/p/11548183.html