升级到 Ubuntu 19.04 后,Wolfram Mathematica:符号查找错误:/usr/lib/x86_64-linux-gnu/libfontconfig.so.1:未定义符号:FT_Done_MM_Var

升级到 Ubuntu 19.04 后,Wolfram Mathematica:符号查找错误:/usr/lib/x86_64-linux-gnu/libfontconfig.so.1:未定义符号:FT_Done_MM_Var

我最近将我的台式电脑从 Ubuntu 18.10 升级到了 19.04。现在,当我尝试启动 Wolfram Mathematica 11.3 中的一个程序时,出现了以下错误:

symbol lookup error: /usr/lib/x86_64-linux-gnu/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var

我尝试检查这个命令:

$ ldd /usr/lib/x86_64-linux-gnu/libfontconfig.so.1
linux-vdso.so.1 (0x00007fffbd1e9000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f723c2e6000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f723c2a9000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f723c2a0000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f723c27f000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f723c094000)
libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f723c05d000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f723c03f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f723c401000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f723bef1000)

但是我并不是一个高级 Linux 用户,无法理解这些内容的含义。

有人见过这个问题吗?

答案1

正如@steeldriver 所注意到的,这个问题是 Wolfram Mathematica 特有的。我解决了这个问题按照此问题中的一些步骤进行操作:无法在 Fedora 29 上启动 Mathematica 11。为了记录,我在这里写下我所做的事情。

转到MathematicaInstallationDirectory/SystemFiles/Libraries/Linux-x86-64/(对我来说是/usr/local/Wolfram/Mathematica/11.3/SystemFiles/Libraries/Linux-x86-64)并运行以下命令:

sudo mv libfreetype.so.6 libfreetype.so.6.bak
sudo mv libz.so.1 libz.so.1.bak

为了测试,我尝试在重命名第一个文件后立即启动 Mathematica libfreetype.so.6。它不起作用,我收到以下错误:

$ mathematica 
/usr/local/Wolfram/Mathematica/11.3/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica: /usr/local/Wolfram/Mathematica/11.3/SystemFiles/Libraries/Linux-x86-64/libz.so.1: version `ZLIB_1.2.9' not found (required by /usr/lib/x86_64-linux-gnu/libpng16.so.16)

但重命名第二个文件后,一切都正常。

注意:上面提供的链接包含有关其他可能有用的步骤的更多信息。

答案2

我还将 Ubuntu 从 18.10 更新到 19.04,也遇到了同样的问题。我设法修复了这个问题,这要感谢一些阅读(其中包括 @Yauhen 的)。以下是我使用的命令行:

cd /usr/local/Wolfram/Mathematica/11.3/SystemFiles/Libraries/Linux-x86-64/
sudo mv libfreetype.so.6 libfreetype.so.6.bak
sudo mv libz.so.1 libz.so.1.bak

cd
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove

sudo apt-get update
sudo apt-get -y install
sudo dpkg --configure -a

瞧 :)

答案3

在 5.13.13-arch1-1(2021 年 9 月 1 日更新)上我遇到了同样的问题。

在搜索并且没有找到解决方案之后,我从 Mathematica 的工作安装中复制了libz和的先前版本并将它们粘贴到。libfreetypeMathematica-FOLDER/SystemFiles/Libraries/Linux-x86-64

现在 Mathematica 可以再次运行了。

我已经提供了这两个库Google 云端硬盘共享

答案:

Google Drive 上的两个库是否来自您之前版本的 libz 和 libfreetype?

这些文件是我从 /usr/lib64/ 中提取的 libfreetype.so.6.14.4 和 libz.so.1.2.11

不知为何,我不太愿意从某人的 Google Drive 加载二进制文件……Oo

当然,您可以提取以前版本的 archlinux 或在网上搜索这些库。

更有用的是列出版本兼容性匹配。libz 和 libfreetype 的版本是什么,它们兼容的 Mathematica 版本是什么。此外,不兼容的库的版本是什么?如果可以,请编辑您的答案并添加该信息。谢谢。

libfreetype.so.6.14.4 和 libz.so.1.2.11 谢谢我希望这些答案有助于解决问题。

相关内容