Ubuntu의 ppa에서 Okular를 설치하는 중에 문제가 발생했습니다.

Ubuntu의 ppa에서 Okular를 설치하는 중에 문제가 발생했습니다.

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.loghttps://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은 비슷한 문제에 직면한 사람이라면 누구나 살펴볼 것을 권장합니다. 쿠분투 백포트 첫 번째 예. 이는 보다 "공식적인" PPA입니다.

답변2

ppa에 필요한 모든 것이 있는 것처럼 보입니다(종속성 버전이 올바르게 지정되지 않은 경우 때로는 그렇지 않을 수도 있습니다). 내 시스템을 파악하면 누락된 기호가 에 있는 것 같습니다 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실제로 libkactivities6의 두 가지 버전이 있습니다. 검사중packages.ubuntu.com두 버전 중 이전 버전이 현재 12.10 버전인 것을 확인했습니다. 다른 하나는 다른 곳에서 왔음에 틀림없습니다(아마도 다른 ppa/).

이렇게 하면( 4:처음에는 위의 내용을 놓쳤습니다):

sudo apt-get install libkactivities6=4:4.8.2-0ubuntu2

그건 고쳐져야 해이것질문,하지만새 버전을 설치하는 다른 프로그램에 문제가 발생할 수 있습니다. apt이러한 이유로 다운그레이드가 거부될 수도 있습니다 .

업스트림의 일반 소스에서 빌드하는 대신 ppa 패키지(그렇지 않으면 Ubuntu에서 nicley를 재생하도록 구성)를 다시 빌드하는 것이 okular가장 좋은 솔루션일 수 있습니다.

관련 정보