在Ubuntu 12.04下,我安装了来自 ppa 的 Okular。
安装后,我在打开PDF文件时遇到了以下问题:
$ okular my.pdf
Got bus address: "unix:abstract=/tmp/dbus-5dWEZJSTX0,guid=4834397efeb7eb0cb8c1da4300000038"
Connected to accessibility bus at: "unix:abstract=/tmp/dbus-5dWEZJSTX0,guid=4834397efeb7eb0cb8c1da4300000038"
Registered DEC: true
okular(15329)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(15329)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(15329)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(15329)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(15329)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
Registered event listener change listener: true
okular: symbol lookup error: okular: undefined symbol: _ZN11KActivities16ResourceInstanceC1EmP7QObject
以下是有关已安装 Okular 的更多信息:
$ okular --version
Qt: 4.8.1
KDE Development Platform: 4.8.5 (4.8.5)
Okular: 0.17.2
$ ldd $(which okular)
linux-gate.so.1 => (0xb7773000)
libkparts.so.4 => /usr/lib/libkparts.so.4 (0xb7707000)
libkactivities.so.6 => /usr/lib/libkactivities.so.6 (0xb76f1000)
libkio.so.5 => /usr/lib/libkio.so.5 (0xb7443000)
libkdeui.so.5 => /usr/lib/libkdeui.so.5 (0xb7000000)
libQtGui.so.4 => /usr/lib/i386-linux-gnu/libQtGui.so.4 (0xb652d000)
libkdecore.so.5 => /usr/lib/libkdecore.so.5 (0xb625c000)
libQtCore.so.4 => /usr/lib/i386-linux-gnu/libQtCore.so.4 (0xb5f7f000)
libQtDBus.so.4 => /usr/lib/i386-linux-gnu/libQtDBus.so.4 (0xb5efe000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb5e19000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb5c6f000)
libnepomuk.so.4 => /usr/lib/libnepomuk.so.4 (0xb5b8b000)
libnepomukutils.so.4 => /usr/lib/libnepomukutils.so.4 (0xb5b53000)
libQtXml.so.4 => /usr/lib/i386-linux-gnu/libQtXml.so.4 (0xb5b10000)
libQtNetwork.so.4 => /usr/lib/i386-linux-gnu/libQtNetwork.so.4 (0xb59c3000)
libQtSvg.so.4 => /usr/lib/i386-linux-gnu/libQtSvg.so.4 (0xb596e000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb583a000)
libstreamanalyzer.so.0 => /usr/lib/libstreamanalyzer.so.0 (0xb57bc000)
libsolid.so.4 => /usr/lib/libsolid.so.4 (0xb56d9000)
libacl.so.1 => /lib/i386-linux-gnu/libacl.so.1 (0xb56d0000)
libattr.so.1 => /lib/i386-linux-gnu/libattr.so.1 (0xb56ca000)
libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb56c0000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb5694000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb5675000)
libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xb566c000)
libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xb5652000)
libattica.so.0.3 => /usr/lib/libattica.so.0.3 (0xb5567000)
libdbusmenu-qt.so.2 => /usr/lib/i386-linux-gnu/libdbusmenu-qt.so.2 (0xb5533000)
libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb54fe000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb54e3000)
libaudio.so.2 => /usr/lib/i386-linux-gnu/libaudio.so.2 (0xb54ca000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb53d1000)
libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb53a7000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb5390000)
libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb52f6000)
libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xb52a7000)
libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb5296000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb5284000)
libbz2.so.1.0 => /lib/i386-linux-gnu/libbz2.so.1.0 (0xb5272000)
liblzma.so.5 => /usr/lib/i386-linux-gnu/liblzma.so.5 (0xb524b000)
libdlrestrictions.so.1 => /usr/lib/libdlrestrictions.so.1 (0xb5246000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb5241000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb5238000)
/lib/ld-linux.so.2 (0xb7774000)
libdbus-1.so.3 => /lib/i386-linux-gnu/libdbus-1.so.3 (0xb51ee000)
libsoprano.so.4 => /usr/lib/libsoprano.so.4 (0xb50fa000)
libsopranoclient.so.1 => /usr/lib/libsopranoclient.so.1 (0xb50a9000)
libnepomukquery.so.4 => /usr/lib/libnepomukquery.so.4 (0xb505d000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb503c000)
libstreams.so.0 => /usr/lib/libstreams.so.0 (0xb5004000)
libxml2.so.2 => /usr/lib/i386-linux-gnu/libxml2.so.2 (0xb4eb7000)
libudev.so.0 => /lib/i386-linux-gnu/libudev.so.0 (0xb4ea7000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xb4ea1000)
libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb4e77000)
libXt.so.6 => /usr/lib/i386-linux-gnu/libXt.so.6 (0xb4e1a000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb4e16000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb4dda000)
libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb4dd3000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb4dcb000)
的输出less /var/log/apt/history.log
是在https://dl.dropboxusercontent.com/u/13029929/history.log,相关部分是:
Start-Date: 2014-04-05 09:56:11
Commandline: apt-get install okular
Install: libkactivities6:i386 (4.8.5-0ubuntu0.1, automatic), libpoppler28:i386 (0.20.5-1ubuntu3~precise1~ppa1, automatic), libkactivities-bin:i386 (4.8.5-0ubuntu0.1, automatic), libpoppler-qt4-4:i386 (0.20.5-1ubuntu3~precise1~ppa1, automatic), libokularcore3:i386 (4.11.2-0ubuntu1~ubuntu12.04~ppa2, automatic)
Upgrade: okular:i386 (4.8.5-0ubuntu0.1, 4.11.2-0ubuntu1~ubuntu12.04~ppa2)
End-Date: 2014-04-05 09:56:42
问题是什么?我该如何解决?
答案1
发布者成功地在他的系统上重建了 Okular PPA 源。某些版本的构建依赖项对于他的系统来说不太正确,因此他必须对其进行调整。目前还不清楚为什么这是必要的,因为海报系统是精确的,PPA 也是如此。
@Graeme 和我在 unix.sx 聊天室中引导他完成了整个过程。聊天会话的记录开始于 http://chat.stackexchange.com/transcript/message/14710296#14710296
@Graeme 建议面临类似问题的人看看 Kubuntu 向后移植 第一个例子。这些是更“官方”的购电协议。
答案2
看起来您确实拥有了所需的 ppa 中的所有内容(如果依赖项的版本控制不正确,有时可能不会)。 Grepping 我自己的系统,似乎缺少的符号位于libkactivities6
.这里没有版本依赖关系,所以我无法判断它是针对哪一个构建的。
我会检查该软件包还有哪些其他版本可用,可能只是有一个较新的版本,您所需要做的就是安装它。或者它是针对旧版本构建的,您可以降级到旧版本,但请注意 Ubuntu 中的更新通常是安全或错误修复。去检查:
sudo apt-get update # make sure everything downloads ok and repeat if not
apt-cache show libkactivities6
要安装特定版本,只需添加=version
到 中的包名称即可apt-get
。例如,要安装您已有的版本:
sudo apt-get install libkactivities6=4:4.8.5-0ubuntu0.1
如果失败,按照@Faheem Mitha 的评论,安装该软件包的唯一选择是重建它。
更新
查看您的apt-cache
输出,您确实有 2 个版本的 libkactivities6。检查中软件包.ubuntu.com我看到两个版本中较旧的是当前的 12.10 版本。另一个肯定来自其他地方(也许是另一个 ppa/)。
如果你这样做(注意我最初错过了4:
上述内容):
sudo apt-get install libkactivities6=4:4.8.2-0ubuntu2
它应该修复这问题,但它可能会导致安装新版本的任何其他程序出现问题。也有可能apt
因此而拒绝降级。
重建 ppa 包(否则配置为与 Ubuntu 一起玩 nicley),而不是okular
从上游构建普通源,可能是最适合您的解决方案。