无法加载库 libcairo

cannot load library libcairo

我在尝试 运行 Django 网站时遇到问题:

OSError: no library called "libcairo-2" was found
cannot load library 'libcairo.so.2': /lib/x86_64-linux-gnu/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var
cannot load library 'libcairo.so': /lib/x86_64-linux-gnu/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var
cannot load library 'libcairo.2.dylib': libcairo.2.dylib: cannot open shared object file: No such file or directory
cannot load library 'libcairo-2.dll': libcairo-2.dll: cannot open shared object file: No such file or directory

虽然软件包已安装。

我已经安装了weasyprint

pip3 install weasyprint

python -m pip install WeasyPrint




  sudo apt-get install build-essential python3-dev python3-pip python3-setuptools python3-wheel python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info

我也试过了

sudo apt install libcairo2-dev
sudo apt install libgirepository1.0-dev

我有Lubuntu系统。 任何想法我该如何解决?提前致谢

解决方案是从 home/user/anaconda3/envs/myvenv/lib 目录中删除 libfreetype.so.6 文件(想法来自 https://kb.tecplot.com/2019/09/11/undefined-symbol-ft_done_mm_var/

对于遇到错误的任何人:

/lib/x86_84-linux-gnu/libcairo.so.2: undefined symbol: FT_Done_MM_Var

运行命令:

sudo find / -name *freetype*

正如 Uli Schlachter 所提到的,这是由于字体在较新版本中构建并在较旧版本中使用。 我使用 alis01 的评论为我找到了答案:

/usr/lib/jvm/java-8-openjdk/jre/lib/amd64/libfreetype.so.6

导致了这个问题。我将其重命名为 libfreetype.so.6.bak,此后一切都很好。

对于 Ubuntu 20 和基于 Debian 的发行版,尝试:

sudo apt-get install libpangocairo-1.0-0