I have problem when trying to run a website in 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
Althought the package is installed.
I have installed 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
I also tried
sudo apt install libcairo2-dev
sudo apt install libgirepository1.0-dev
I have Lubuntu system. Any ideas how can I fix it? Thanks in advance
The solution was to remove libfreetype.so.6 file from home/user/anaconda3/envs/myvenv/lib directory (idea taken from https://kb.tecplot.com/2019/09/11/undefined-symbol-ft_done_mm_var/)
For anyone coming here that is getting the error:
/lib/x86_84-linux-gnu/libcairo.so.2: undefined symbol: FT_Done_MM_Var
Run the command:
sudo find / -name *freetype*
As Uli Schlachter mentioned it's due to fonts being built in a newer version and used in an older version. I used alis01's comment to find out that for me:
/usr/lib/jvm/java-8-openjdk/jre/lib/amd64/libfreetype.so.6
was causing the issue. I renamed it to libfreetype.so.6.bak and all has been well since.
For Ubuntu 20 and Debian based distro, try:
sudo apt-get install libpangocairo-1.0-0