web-dev-qa-db-fra.com

Conflit de version de package lors de la création du package ubuntu network-manager-applet à partir de la source

J'utilise xubuntu 18.04, qui a une interface utilisateur XFCE qui utilise plusieurs widgets GNOME, notamment network-manager. network-manager a certaines limites telles que le manque de moyen de prioriser les réseaux par glisser-déposer. Je connais les moyens CLI de le faire, mais je voudrais contribuer cette fonctionnalité à l'interface graphique, donc j'essaie de compiler network-manager-applet à partir de la source en préparation pour y contribuer.

Mes packages système ont été mis à jour avec apt-get update et apt-get upgrade.

Si je tape:

apt-get source network-manager-applet --compile

Je reçois:

dpkg-checkbuilddeps: error: Unmet build dependencies: dh-translations gnome-common libnm-util-dev (>= 1.8) libnm-glib-dev (>= 1.8) libnm-glib-vpn-dev (>= 1.8) network-manager-dev (>= 1.8) libnm-dev (>= 1.8) libmm-glib-dev libjansson-dev (>= 2.7) libselinux-dev libappindicator3-dev libdbusmenu-gtk3-dev (>= 16.04) libgcr-3-dev (>= 3.14) libgck-1-dev (>= 3.14) libgirepository1.0-dev gobject-introspection gtk-doc-tools libgtk-3-doc libglib2.0-doc
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
E: Build command 'cd network-manager-applet-1.8.10 && dpkg-buildpackage -b -uc' failed.

OK, assez bien, j'ai donc cherché comment récupérer les dépendances:

Sudo apt-get build-dep network-manager-applet
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 builddeps:network-manager-applet : Depends: libnm-dev (>= 1.8) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

OK, essayons donc d'installer libnm-dev:

boutell@roxnsox:~/xubuntu$ Sudo apt-get install libnm-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libnm-dev : Depends: libnm0 (= 1.10.6-2ubuntu1.1) but 1.10.14-0ubuntu2 is to be installed
E: Unable to correct problems, you have held broken packages.

Notez que je n'ai aucun package en attente:

boutell@roxnsox:~/xubuntu$ dpkg --get-selections | grep hold
boutell@roxnsox:~/xubuntu$ 

Comment résoudre le conflit avec libnm0 pour avancer?

(Je suis conscient que je devrai éventuellement arrêter --compile et cd dans le dossier source et me créer pour travailler sur le code, mais je me retrouve au même endroit dans ce scénario. La série d'étapes ci-dessus devrait être utile pour résoudre ce problème.)

Merci de votre aide!

3
Tom Boutell

Cette ligne:

libnm-dev : Depends: libnm0 (= 1.10.6-2ubuntu1.1) but 1.10.14-0ubuntu2 is to be installed

Suggère que vous disposez d'une version de libnm0 plus récente que celle compatible avec le libnm-dev dont vous disposez; c'est un peu mal rédigé, je pense.

Sudo apt purge libnm0 && Sudo apt install libnm-dev

Supprime votre version de libnm0 et fait votre installation en spécifiant libnm-dev, qui récupérera les dépendances dont il a besoin.

Publiez de nouveau si vous obtenez toujours des erreurs de dépendance.

FWIW aptitude recherchera des solutions alternatives aux problèmes de dépendance. Donc, dans votre cas, en mode interactif (Sudo aptitude) lorsque vous spécifiez "install libnm-dev" (en cliquant sur + contre l'entrée appropriée; la recherche est / puis tapez votre mot-clé) il dira quelque chose de cassé et vous proposera d'appuyer sur e puis vous pouvez utiliser ,/. de travailler à travers une liste de solutions.

Vous pouvez tilisez également aptitude comme apt dans un terminal: Sudo aptitude install libnm-dev

et là encore, il devrait proposer différentes solutions pour résoudre le problème de dépendance.

Une autre alternative est de spécifiez directement la version de libnm que libnm-dev veut:

Sudo apt install libnm0=1.10.6-2ubuntu1.1

mais cela ne fonctionne que si cette version est dans vos dépôts (spécifié dans /etc/apt/sources.list & c.).

1
pbhj