web-dev-qa-db-ja.com

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

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

システムパッケージがapt-get updateおよびapt-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との競合を解決するにはどうすればよいですか?

(私は最終的に--compileを省略してソースフォルダーにcdし、コードで作業するために自分自身をビルドする必要があることを承知していますが、そのシナリオでは同じ場所に行きます。上記の一連の手順はこの問題を解決するために役立ちます。)

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

3
Tom Boutell

この行:

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を指定してインストールを実行します。

依存関係エラーが引き続き発生する場合は、ポストバックしてください。

FWIWaptitudeは、依存関係の問題に対する代替の解決策を検索します。したがって、あなたの場合、対話モード(Sudo aptitude)「install libnm-dev」を指定した場合(クリックして + 適切なエントリに対して;検索は / それからあなたのキーワードをタイプしてください)それは何かが壊れていると言い、あなたに押すように提案します e そして、あなたは使うことができます ,/. ソリューションのリストを処理します。

端末でaptitudeのようにapt使用することもできます:Sudo aptitude install libnm-dev

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

別の代替方法は、libnm-devが必要とするlibnm0のバージョンを直接指定することです:

Sudo apt install libnm0=1.10.6-2ubuntu1.1

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

1
pbhj