web-dev-qa-db-fra.com

Comment résoudre les conflits de paquets entre Ubuntu et GIMP?

Dans Ubuntu 18.04 (Cinnamon), le package cpp-7 dépend précisément de la version 7.3.0-27ubuntu1~18.04 du package gcc-7-base:

$ aptitude why gcc-7-base
i   cpp-7 Depends gcc-7-base (= 7.3.0-27ubuntu1~18.04)

Pendant ce temps, le package libgfortran4 dépend précisément de la version 7.3.0-16ubuntu3 du même package gcc-7-base:

$ apt-cache show libgfortran4
Package: libgfortran4
...
Depends: gcc-7-base (= 7.3.0-16ubuntu3), libc6 (>= 2.27), libgcc1, libquadmath0

et libgfortran4 ne s'installera pas si l'autre version du paquet est déjà installée:

$ Sudo apt-get install libgfortran4
...
The following packages have unmet dependencies:
 libgfortran4 : Depends: gcc-7-base (= 7.3.0-16ubuntu3) but 7.3.0-27ubuntu1~18.04 is to be installed
                Depends: libquadmath0 but it is not going to be installed

cpp-7 est dans le graphe de dépendance de ubuntu-desktop. libgfortran4 est dans le graphe de dépendance de gimpname__. Cela ne signifie-t-il pas que personne ne peut jamais installer GIMP à partir des référentiels sous Ubuntu 18.04? Corrigez-moi si je me trompe, mais je ne peux certainement pas.

Pour rendre le problème encore plus embêtant, apt-cache showpkg montre que les deux versions différentes de gcc-7-base proviennent du même référentiel et ont le même hachage MD5:

$ apt-cache showpkg gcc-7-base
Package: gcc-7-base
Versions: 
7.3.0-27ubuntu1~18.04 (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic_main_binary-AMD64_Packages
                  MD5: b6e93638a6d08ea7a18929d7cf078e5d
...
7.3.0-16ubuntu3 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic_main_binary-AMD64_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic_main_binary-AMD64_Packages
                  MD5: b6e93638a6d08ea7a18929d7cf078e5d

ce qui signifie (encore une fois, corrigez-moi si je me trompe), c'est exactement le même code. Donc, il n'y a pas de conflit de dépendance réel ici, seulement un des labels.

Comment cela se produit-il et comment puis-je le réparer? Par exemple, est-il possible pour moi de dire à cpp-7 ou à libgfortran4 qu'il est acceptable d'accepter l'autre version de gcc-7-base, car c'est exactement le même code? Dois-je impliquer le (s) responsable (s) du paquet?

Edit: Il y a quelques jours, j'ai posté une question sur ce sujet. La question actuelle est le résultat limité du travail que j'ai fait entre-temps.

Edit: Voici mes sources actives:

$ grep -Ev '(^#|^ *$|deb-src)' /etc/apt/sources.list /etc/apt/sources.list.d/*
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic universe
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic multiverse
/etc/apt/sources.list:deb [Arch=AMD64] https://packages.Microsoft.com/repos/vscode stable main
/etc/apt/sources.list.d/keybase.list:deb http://prerelease.keybase.io/deb stable main
/etc/apt/sources.list.d/keybase.list.save:deb http://prerelease.keybase.io/deb stable main
/etc/apt/sources.list.d/vscode.list~:deb [Arch=AMD64] http://packages.Microsoft.com/repos/vscode stable main

Il y a un deb-src commenté pour les mises à jour,

# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

mais rien de commenté ou de non commenté pour les mises à jour qui n'est que debname__. Dois-je ajouter une ligne

deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

?

Edit: Ajout

deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

dans mon fichier /etc/apt/sources.list, puis $ Sudo apt-get update a fonctionné. GIMP a été installé comme prévu avec $ Sudo apt-get install gimp. Merci à tous!

6
Darien Marks

Ce type de problème est généralement résolu par un simple apt update.

Voyons pourquoi en interrogeant la base de données madison pour connaître les versions 18.04 disponibles de gcc-7-base et libgfortran4.

$ rmadison gcc-7-base
 gcc-7-base | 7.3.0-16ubuntu3       | bionic         | AMD64, arm64, armhf, i386, ppc64el, s390x
 gcc-7-base | 7.3.0-27ubuntu1~18.04 | bionic-updates | AMD64, arm64, armhf, i386, ppc64el, s390x

$ rmadison libgfortran4
 libgfortran4 | 7.3.0-16ubuntu3       | bionic         | AMD64, arm64, armhf, i386, ppc64el, s390x
 libgfortran4 | 7.3.0-27ubuntu1~18.04 | bionic-updates | AMD64, arm64, armhf, i386, ppc64el, s390x

Vous pouvez constater que libgfortran4 est la version bionique (non mise à jour) et possède la dépendance bionique (non mise à jour). gcc-7-base utilise quant à lui la nouvelle dépendance bionic-updates.

Ce type de désynchronisation entre un référentiel de base et son référentiel -updates correspondant sur un même système a deux raisons courantes.

  1. L'utilisateur a récemment désactivé le référentiel -updates. Assez facile à vérifier et à réparer dans /etc/apt/sources.list ou dans le panneau de configuration Logiciels et sources.

  2. L'utilisateur n'a simplement pas exécuté apt update depuis longtemps pour actualiser la base de données locale d'apt (pdate) des paquets disponibles des deux sources. C'est une solution facile, aussi.

Votre fichier /etc/apt/sources.list devrait avoir une combinaison de miroirs et de sources qui ajoute:

deb [mirror URL] bionic main
deb [mirror URL] bionic-updates main
deb [mirror URL] bionic-security main

Les pensions universename____, multiverseet restrictedfacultatives peuvent être incluses sur les mêmes lignes.

9
user535733

Une autre option consiste à installer la version instantanée de GIMP. Je me rends compte que certaines personnes n'aiment pas les clichés, mais cela peut être une solution plus acceptable pour les utilisateurs occasionnels de Linux.

Sudo snap install gimp
3
rkeating

En plus de la réponse acceptée: si seules les sources par défaut sont activées et la dernière liste de packages (apt update) et que vous rencontrez toujours de tels conflits sur des packages de base tels que gimp, signalez un bogue. Ceci est quelque chose, ce qui devrait être corrigé par le mainteneur du paquet et ce qui est probablement assez facile à réparer pour lui. Cela peut également toucher plus de personnes que vous. Ces bugs se produisent de temps en temps, mais les responsables doivent le savoir.

Bien sûr, vous devez vous assurer que l'état de votre configuration et de votre package n'est pas le problème avant, car, par exemple, gimp (ou certaines de ses dépendances) d’un référentiel tiers, les mainteneurs d’ubuntu ne peuvent pas vous aider.

0
allo