![无法在 Linux Mint 19 Tara 上运行 ownCloud 客户端(Qt 问题)](https://linux22.com/image/143150/%E6%97%A0%E6%B3%95%E5%9C%A8%20Linux%20Mint%2019%20Tara%20%E4%B8%8A%E8%BF%90%E8%A1%8C%20ownCloud%20%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%88Qt%20%E9%97%AE%E9%A2%98%EF%BC%89.png)
我在 Linux Mint 19 Tara 上运行 ownCloud 客户端时遇到问题。它没有开始。如果从命令行运行,它会给出以下错误:
pavel@lenovo ~ $ owncloud
owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by owncloud)
owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5DBus.so.5)
owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5WebKitWidgets.so.5)
owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Xml.so.5)
owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/ownCloud/lib/x86_64-linux-gnu/libowncloudsync.so.0)
owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/ownCloud/lib/x86_64-linux-gnu/libowncloud_csync.so.0)
owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libqt5keychain.so.1)
owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Widgets.so.5)
owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5WebKit.so.5)
owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Network.so.5)
owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Gui.so.5)
owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5)
owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Sql.so.5)
大多数 ocqt 库都可以找到,但它们引用的是系统 libQt5Core 库。当/opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Core.so.5
文件存在并且是指向 的符号链接时,这怎么可能libQt5Core.so.5.10.1
?
尝试前置LD_LIBRARY_PATH=/opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu
,但结果是一样的。
尝试使用 ldd:
pavel@lenovo ~ $ LD_LIBRARY_PATH=/opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu ldd `which owncloud`
/usr/bin/owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /usr/bin/owncloud)
/usr/bin/owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5DBus.so.5)
/usr/bin/owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5WebKitWidgets.so.5)
/usr/bin/owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Xml.so.5)
/usr/bin/owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/ownCloud/lib/x86_64-linux-gnu/libowncloudsync.so.0)
/usr/bin/owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/ownCloud/lib/x86_64-linux-gnu/libowncloud_csync.so.0)
/usr/bin/owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libqt5keychain.so.1)
/usr/bin/owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Widgets.so.5)
/usr/bin/owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5WebKit.so.5)
/usr/bin/owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Network.so.5)
/usr/bin/owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Gui.so.5)
/usr/bin/owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5)
/usr/bin/owncloud: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Sql.so.5)
linux-vdso.so.1 (0x00007fff23f74000)
libQt5DBus.so.5 => /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5DBus.so.5 (0x00007f2e54e20000)
libQt5WebKitWidgets.so.5 => /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5WebKitWidgets.so.5 (0x00007f2e54dd9000)
libQt5Xml.so.5 => /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Xml.so.5 (0x00007f2e54d9c000)
libowncloudsync.so.0 => /opt/ownCloud/ownCloud/lib/x86_64-linux-gnu/libowncloudsync.so.0 (0x00007f2e544da000)
libowncloud_csync.so.0 => /opt/ownCloud/ownCloud/lib/x86_64-linux-gnu/libowncloud_csync.so.0 (0x00007f2e5427b000)
libqt5keychain.so.1 => /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libqt5keychain.so.1 (0x00007f2e54053000)
libQt5Widgets.so.5 => /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007f2e53a00000)
libQt5WebKit.so.5 => /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5WebKit.so.5 (0x00007f2e51a23000)
libQt5Network.so.5 => /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Network.so.5 (0x00007f2e51893000)
libQt5Gui.so.5 => /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007f2e51394000)
libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007f2e50c49000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f2e508c0000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2e50522000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f2e5030a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2e4ff19000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2e4fcfa000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f2e4faad000)
libQt5PrintSupport.so.5 => /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5 (0x00007f2e54ce2000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f2e4f890000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f2e4f587000)
libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f2e4f271000)
libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007f2e4f009000)
libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f2e4edd7000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f2e4ea9f000)
libxslt.so.1 => /usr/lib/x86_64-linux-gnu/libxslt.so.1 (0x00007f2e4e862000)
libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f2e4e4a1000)
libicui18n.so.60 => /usr/lib/x86_64-linux-gnu/libicui18n.so.60 (0x00007f2e4e000000)
libicuuc.so.60 => /usr/lib/x86_64-linux-gnu/libicuuc.so.60 (0x00007f2e4dc49000)
libQt5Sql.so.5 => /opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Sql.so.5 (0x00007f2e4dbfe000)
libssl.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f2e4d996000)
libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f2e4d553000)
libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f2e4d2b5000)
libdouble-conversion.so.1 => /usr/lib/x86_64-linux-gnu/libdouble-conversion.so.1 (0x00007f2e4d0a4000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2e4cea0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2e54c86000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f2e4cc1c000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f2e4c9aa000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f2e4c782000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f2e4c55c000)
libicudata.so.60 => /usr/lib/x86_64-linux-gnu/libicudata.so.60 (0x00007f2e4a9b3000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f2e4a6ff000)
libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f2e4a4d2000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f2e4a2ca000)
liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f2e4a0ae000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f2e49d93000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f2e49b8f000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f2e49989000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f2e49774000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f2e4955f000)
那么,如果 ld 找到的所有其他 Qt 库都是 ownCloud 版本,为什么 ld 会找到系统库呢?为什么指定 LD_LIBRARY_PATH 没有用?
尝试重新安装ocqt5101-libqt5core5a包但这也不起作用。有什么线索吗?
编辑1:
试图完全删除libqt5core5a系统软件包(并且还必须删除所有 KDE 内容)才能看到差异。我得到了一个不同的错误:
pavel@lenovo ~ $ LD_LIBRARY_PATH=/opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu owncloud
owncloud: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
如前所述,该文件/opt/ownCloud/qt-5.10.1/lib/x86_64-linux-gnu/libQt5Core.so.5
就在那里,并且是指向正确库的符号链接。但似乎所有其他库都希望它位于系统库目录 ( /usr/lib/x86_64-linux-gnu
) 中。该库路径可能以某种方式在其他库中进行了硬编码,因为它们忽略了与它们位于同一目录中的文件。
这是否意味着 ownCloud Qt 包已损坏?
编辑2:
使用 Linux Mint 19 Tara 和完全相同的官方 ownCloud 存储库检查了另一个完全更新的系统。这是一个 i386 系统,这个错误不会显现出来。
编辑3:
在ownCloud论坛上提到过这个问题。通过其用户,我们缩小了问题范围。它与 ld 缓存没有任何关系(请参阅这里)。
ownCloud 的 libQt5Core.so.5.10.1 库本身肯定有问题。但什么?
尝试安装 Testpilot 云客户端,但错误仍然存在(我认为库基本相同)。
编辑4:
在 openSUSE 服务器上找到了一个专用的 Linux Mint 19 ownCloud 存储库并从那里安装(请参阅这里)但库的问题仍然存在。
答案1
我想我明白了。试着降级ownCloud 客户端版本2.4.3和它工作了。
如果有人遇到这种情况,为了方便起见,这里有一个脚本:
#!/bin/bash
apt remove owncloud-client
apt autoremove
sudo rm -f /etc/apt/sources.list.d/*own[cC]loud*.list
wget -nv https://download.opensuse.org/repositories/isv:ownCloud:desktop:client-2.4.3/Ubuntu_18.04/Release.key -O Release.key
sudo apt-key add - < Release.key
rm Release.key
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop:/client-2.4.3/Ubuntu_18.04/ /' > /etc/apt/sources.list.d/isv:ownCloud:desktop:client-2.4.3.list"
sudo apt-get update
sudo apt-get install owncloud-client
我认为我的旧内核(3.13.0-98)与最新的 2.5.* 版本的 ownCloud 客户端不能很好地配合。