ソースから network-manager-applet ubuntu パッケージをビルドするときにパッケージ バージョンの競合が発生する

ソースから network-manager-applet ubuntu パッケージをビルドするときにパッケージ バージョンの競合が発生する

私は xubuntu 18.04 を使用しています。これには、いくつかの GNOME ウィジェット (特に network-manager) を使用する XFCE ユーザー インターフェイスがあります。network-manager には、ドラッグ アンド ドロップでネットワークを優先順位付けする方法がないなど、いくつかの制限があります。CLI でこれを行う方法は知っていますが、この機能を GUI に提供したいので、network-manager-appletソースからコンパイルして、コードを提供する準備をしています。

システム パッケージが および で更新されましapt-get updateapt-get upgrade

次のように入力すると:

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

次のような結果になります:

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.

わかりました。それでは依存関係を取得する方法を調べてみました。

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.

それではインストールしてみましょう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.

保留中のパッケージがないことに注意してください。

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

libnm0前進するために、どのように対立を解決すればよいでしょうか?

(最終的には、ソース フォルダーに cd して自分でビルドし--compileてコードに取り組む必要があることは承知していますが、そのシナリオでは同じ場所にたどり着きます。上記の一連の手順は、この問題を解決するのに適しています。)

ご協力いただきありがとうございます!

答え1

この行:

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

使用可能な libnm-dev と互換性のある libnm0 の新しいバージョンがあることを示唆しています。少し表現が間違っていると思います。

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

libnm0 バージョンを削除し、libnm-dev を指定してインストールを実行します。これにより、必要な依存関係が取り込まれます。

依存関係エラーが引き続き発生する場合は、再度投稿してください。

参考までにaptitude依存の問題に対する代替解決策を模索するしたがって、あなたの場合、対話モード ( sudo aptitude) で「install libnm-dev」を指定すると (+適切なエントリをクリックして検索し、/キーワードを入力する)、何かが壊れていることが示され、押すように求められe,/ を使用し.て解決策のリストを実行できます。

あなたはできるターミナルでもaptitude同様に使用apt: sudo aptitude libnm-dev をインストール

そして、依存性の問題を解決するためのさまざまなソリューションを提供する必要があります。

もう一つの選択肢はlibnm0のバージョンを直接指定するlibnm-dev が求めているもの:

sudo apt install libnm0=1.10.6-2ubuntu1.1

ただし、これはそのバージョンがリポジトリ内にある場合にのみ機能します (/etc/apt/sources.list などで指定)。

関連情報