Aujourd'hui, j'ai essayé de mettre à jour mon bureau Arch Linux et je me suis retrouvé avec un problème de dépendance Perl. Cependant, je n'ai jamais installé directement ces packages Perl défectueux. Je pensais que c'était dû à un problème de pacman. Après quelques recherches sur les forums Arch Linux, j'ai découvert qu'il n'était pas lié à pacman, mais à AUR. Voici le message d'erreur que j'ai reçu lorsque j'ai essayé de mettre à jour mon système Arch.
$ sudo pacman -Syu
Exemple de résultat :
:: Synchronizing package databases... core 124.1 KiB 131K/s 00:01 [----------------------] 100% extra 1667.6 KiB 221K/s 00:08 [----------------------] 100% community 3.8 MiB 375K/s 00:10 [----------------------] 100% multilib 176.6 KiB 189K/s 00:01 [----------------------] 100% archlinuxfr is up to date :: Starting full system upgrade... :: Replace wxgtk with extra/wxgtk2? [Y/n] resolving dependencies... looking for conflicting packages... error: failed to prepare transaction (could not satisfy dependencies) :: gnome-perl: installing perl (5.26.0-1) breaks dependency 'perl<5.25' :: gnome-vfs-perl: installing perl (5.26.0-1) breaks dependency 'perl<5.25' :: gnomecanvas-perl: installing perl (5.26.0-1) breaks dependency 'perl<5.25' :: perl-gnome2-wnck: installing perl (5.26.0-1) breaks dependency 'perl<5.25' :: perl-goo-canvas: installing perl (5.26.0-1) breaks dependency 'perl<5.25' :: perl-gtk2-imageview: installing perl (5.26.0-1) breaks dependency 'perl<5.25' :: perl-gtk2-unique: installing perl (5.26.0-1) breaks dependency 'perl<5.25'
Les packages ci-dessus sont les dépendances de l'outil de capture d'écran Shutter. La véritable raison de ce problème de dépendance à Perl est que le développeur de Shutter a arrêté le développement il y a deux ou trois ans. Il utilise de nombreuses dépendances, ce qui le rend très difficile à maintenir.
Pour résoudre ce problème, vous devez soit désinstaller Shutter et opter pour l'autre alternative, soit simplement supprimer Shutter et toutes ses dépendances, puis le réinstaller à nouveau.
Pour supprimer l'obturateur, exécutez :
$ sudo pacman -R shutter
Après avoir supprimé Shutter, vous devez supprimer toutes les dépendances inutilisées à l'aide de la commande :
$ sudo pacman -Rns $(pacman -Qtdq)
Alternativement, vous ne pouvez supprimer les dépendances problématiques qu'en utilisant comme indiqué ci-dessous. S'il vous plaît soyez prudent en faisant cela. Assurez-vous simplement de supprimer uniquement les packages perl problématiques corrects.
$ sudo pacman -R perl-gtk2-unique perl-gtk2-imageview perl-goo-canvas perl-gnome2-wnck gnomecanvas-perl gnome-vfs-perl gnome-perl
Cette fois, j'ai mis à jour ma boîte Arch Linux sans aucun problème. Après la mise à jour du système, vous pouvez soit trouver n'importe quel outil alternatif pour Shutter, soit simplement le réinstaller en utilisant Yaourt ou Emballeur .
yaourt -S shutter
Ou,
packer -S shutter
La réinstallation de Shutter peut entraîner à nouveau ce problème de dépendance à Perl. Je vous recommande d'attendre la solution officielle. Cette méthode résoudra le problème temporellement. Ou trouvez une alternative à l'outil de capture d'écran Shutter et supprimez-le définitivement.
Santé !