libjpeg 已安装但 teamviewer 无法定位

libjpeg 已安装但 teamviewer 无法定位

我有 Ubuntu 16.04.1 多架构。我通过 synaptic 安装了 libjpeg62。

% ldconfig -p | grep libjpeg
    libjpegxr.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjpegxr.so.0
    libjpeg.so.62 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjpeg.so.62
    libjpeg.so.9 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjpeg.so.9
    libjpeg.so.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjpeg.so.8
    libjpeg.so.8 (libc6) => /usr/lib/i386-linux-gnu/libjpeg.so.8
    libjpeg.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjpeg.so

这里 libjpeg.so.62 位于/user/lib/x86_64-linux-gnu我的 LD_LIBRARY_PATH 中。但是,输入后locate libjpeg.so.62没有返回任何内容。为什么?

另外,当我运行 teamviewer 时,它也抱怨找不到 libjpeg.so.62。

更新:正如@oranja 指出的那样,一段时间后就可以正常locate libjpeg.so.62工作。但是 teamviewer 仍然无法检测到它。

我没有管理员权限sudo,但可以gksu使用我的用户密码运行。所以我的计划是通过 synaptic 安装 teamviewer 的所有依赖项,然后运行 ​​.tar.gz 便携版 teamviewer。欢迎提出任何想法。

答案1

这需要一些时间。索引locate默认存储在: /var/lib/mlocate/mlocate.db

并且它会由实用程序定期更新updatedb

如果您运行updatedb但仍然locate没有找到libjpeg.so.62,那就很奇怪了,值得检查配置。

至于 TeamViewer,我怀疑问题在于您安装了 32 位版本的 TeamViewer,它会查找其依赖项的 32 位版本。

查看此支持文章: https://www.teamviewer.com/en/help/363-how-do-i-install-teamviewer-on-my-linux-distribution

还有这个问题: 使用 64 位系统安装了 Teamviewer,但出现依赖性错误

编辑:

为了TeamViewer 12.0.71510dpkg -I报告以下依赖项:

libc6 (>= 2.11), libgcc1, libasound2, libdbus-1-3, libexpat1, libfontconfig1, libfreetype6, libjpeg62, libsm6, libxdamage1, libxext6, libxfixes3, libxinerama1, libxrandr2, libxrender1, libxtst6, zlib1g

您可以批量安装所有这些,也可以仅安装 TeamViewer 抱怨的那些,但无论哪种方式,您都需要添加规范:i386。例如:libc6成为libc6:i386libjpeg62成为libjpeg62:i386。(这也在我上面链接的答案中进行了解释,但那里的依赖项列表已经过时了)。

如果您必须使用synaptic,那么有一个“架构”过滤器可能有助于找到这些依赖项的 i386 版本。

相关内容