在我的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作为/usr/local/lib/libdbus-1.so.3.16.4的链接
在我从源代码安装dbus和bluez并重新启动系统后,就会发生此问题,因此某些服务(例如登录服务)无法在启动时加载,因此我不得不从恢复模式中删除dbus和bluez以及某些依赖项(以及ubuntu-desktop),要启动登录服务并以普通用户身份登录,然后再次重新安装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
我设法通过以下方式解决了该问题:
dpkg --remove --force-depends libdbus-1-3
。在不删除其依赖项的情况下删除libdbus-1-3。make clean
删除试图解决这个问题时,我已经安装了所有的DBUS版” remainings。/etc/apt/sources.list
文件中的deb-src条目。apt-get clean
和清理本地存储库apt-get autoclean
。-apt-get install -f
尝试修复损坏的依赖项。apt-get install dbus
而导致使用dbus的安装失败,因此我习惯于apt-get source
获取源软件包,然后手动安装它,并且安装成功,没有任何错误。现在dbus-uuidgen
工作,并打印了一个字符串。我不确定到底是什么解决了该问题,但是我认为我使用libdbus-1-3库安装了不同版本的dbus,该库仅适用于dbus版本1.10.6-ubun amd64(对于ubuntu),并且看来就我而言,仅此版本适用于我的发行版。我相信@Gilles的解释会更准确。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句