dbus-uuidgen は、/usr/local/lib/libdbus-1.so.3 が見つからないことを返します。

dbus-uuidgen は、/usr/local/lib/libdbus-1.so.3 が見つからないことを返します。

Ubuntu 16.04.2 LTSでdbus-uuidgenを実行すると、次のものが返されます。

dbus-uuidgen:/usr/local/lib/libdbus-1.so.3:バージョン「LIBDBUS_PRIVATE_1.10.8」が見つかりません(dbus-uuidgenに必要)

文書には次のように記載されています。

虚空で生成された新しいUUIDを印刷します。

しかし、/usr/local/lib/libdbus-1.so.3.16.4へのリンクとして/usr/local/lib/libdbus-1.so.3があります。

この問題は、ソースからdbusとbluezをインストールし、システムを再起動した後に発生しました。そのため、ログインサービスなどの一部のサービスを起動時にロードできなかったため、一部の依存関係(およびubuntu-desktop)でリカバリモードでdbusとbluezを削除する必要がありました。 )、ログインサービスを開始し、一般ユーザーとしてログインし、dbusを再インストールします。ただし、apt-getを使用して何かをインストールしようとするたびに、dbus-uuidエラーが原因でインストールが停止します。私が奇妙に思ったのは、/var/lib/dbus/machine-idファイルと/etc/machine-idファイルに再起動時にIDが含まれていることです。私はこれがdbus-uuidgenが起動時に機能することを証明すると信じています。

出力サンプル:

$sudo apt-get install bluez
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  dbus
Suggested packages:
  dbus-user-session | dbus-x11
The following NEW packages will be installed:
  bluez dbus
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,041 kB of archives.
After this operation, 4,767 kB of additional disk space will be used.
Do you want to continue? [Y/n] Get:1 http://ma.archive.ubuntu.com/ubuntu xenial-updates/main amd64 dbus amd64 1.10.6-1ubuntu3.3 [142 kB]
Get:2 http://ma.archive.ubuntu.com/ubuntu xenial/main amd64 bluez amd64 5.37-0ubuntu5 [899 kB]
Fetched 1,041 kB in 2s (383 kB/s)
Selecting previously unselected package dbus.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 270712 files and directories currently installed.)
Preparing to unpack .../dbus_1.10.6-1ubuntu3.3_amd64.deb ...
Unpacking dbus (1.10.6-1ubuntu3.3) ...
Selecting previously unselected package bluez.
Preparing to unpack .../bluez_5.37-0ubuntu5_amd64.deb ...
Unpacking bluez (5.37-0ubuntu5) ...
Processing triggers for systemd (229-4ubuntu17) ...
Processing triggers for ureadahead (0.100.0-19) ...
ureadahead will be reprofiled on next reboot
Processing triggers for man-db (2.7.5-1) ...
Setting up dbus (1.10.6-1ubuntu3.3) ...
dbus-uuidgen: /usr/local/lib/libdbus-1.so.3: version LIBDBUS_PRIVATE_1.10.18' not found (required by dbus-uuidgen)
dpkg: error processing package dbus (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of bluez:
 bluez depends on dbus; however:
  Package dbus is not configured yet.

dpkg: error processing package bluez (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 dbus
 bluez

ベストアンサー1

私は次のことで問題を解決しました。

  • 走るdpkg --remove --force-depends libdbus-1-3。依存関係を削除せずにlibdbus-1-3を削除します。
  • make cleanトラブルシューティング中にインストールした各dbusバージョンの残りの部分を削除するには、実行してください。
  • ファイルの私のdeb-srcエントリにコメントを付けてください/etc/apt/sources.list
  • apt-get cleanローカルストレージを使用してクリーンアップしますapt-get autocleanapt-get install -f- 壊れた依存関係を修正するには実行してください。
  • 次のためdbusをインストールapt-get install dbusできませんでした。dbus-uuidgenエラーが発生しました。一度apt-get sourceソースパッケージを受け取り、手動でインストールしましたが、エラーなしでインストールに成功しました。今dbus-uuidgen動作し、文字列を印刷します。

何が問題を解決したかはわかりませんが、dbusバージョン1.10.6-ubun amd64(Ubuntu用)でのみ機能するlibdbus-1-3ライブラリを使用して他のバージョンのdbusをインストールしたようです。心配です。私のディストリビューションでは、このバージョンのみが機能します。 @Gillesの説明がより正確だと思います。

おすすめ記事