我终于从 16.04 升级到了 18.04。Teamviewer 在 16.04 中运行良好。升级后,当我尝试启动 GUI 时,它显示:
/opt/teamviewer/tv_bin/TeamViewer: symbol lookup error: /opt/qt514/lib/libQt5XcbQpa.so.5: undefined symbol: FT_Get_Font_Format
我确保它已经在足够新的 freetype 版本上,因为整个 FT_Get_X11_Font_Format 与 FT_Get_Font_Format 问题通常会导致此错误。
看起来该功能可用:
rreese@rreese-desktop:~$ sudo readelf -s /usr/lib/x86_64-linux-gnu/libfreetype.so | grep -i font_format
195: 000000000000fc10 2 FUNC GLOBAL DEFAULT 12 FT_Get_X11_Font_Format
208: 000000000000fbe0 43 FUNC GLOBAL DEFAULT 12 FT_Get_Font_Format
我尝试升级 QT,认为这可能是问题所在,但 5.14 也给出了同样的错误。我有点束手无策了。有人有什么建议吗?
谢谢!
答案1
因此,事实证明,/etc/ld.so.conf.d/ 中有一个针对 FFMPEG 的旧“修复”,它指向另一个 lib 文件夹。它一定是优先的,因为我看到当我使用 strace 运行 teamviewer 时,它使用的是那里的 libfreetype.so.6。一定是没有 FT_Get_Font_Format 的旧版本,因为当我删除该“修复”时,它抓取了正确的版本并且一切正常。