Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSError: no library called "cairo-2" was found on Windows #388

Open
cporrasn opened this issue May 9, 2023 · 2 comments
Open

OSError: no library called "cairo-2" was found on Windows #388

cporrasn opened this issue May 9, 2023 · 2 comments

Comments

@cporrasn
Copy link

cporrasn commented May 9, 2023

I have this problem:

OSError: no library called "cairo-2" was found
no library called "cairo" was found
no library called "libcairo-2" was found
cannot load library 'libcairo.so.2': error 0x7e
cannot load library 'libcairo.2.dylib': error 0x7e
cannot load library 'libcairo-2.dll': error 0x7e

I use windows, with a python 3.8.

Installing gtk3 from here: https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases is enough to solve the problem?

@liZe
Copy link
Member

liZe commented May 9, 2023

Installing gtk3 from here: https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases is enough to solve the problem?

Yes, installing with default options and rebooting should be enough.

@sildeag
Copy link

sildeag commented May 16, 2023

I previously posted a solution that worked for me on Windows 11. It is closed as far as I am concerned but apparently a person with greater expertise could apply the same fix to the CairoSVG package and completely fix the issue.

When used in Python3.10 on Windows 11, it is not enough to add the GTK3-Runtime Win64 to the path as the dll still does not load correctly. Adding this solves the issue:
gtkbin = r'C:\Program Files\GTK3-Runtime Win64\bin'
add_dll_dir = getattr(os, 'add_dll_directory', None)
if callable(add_dll_dir):
add_dll_dir(gtkbin)
else:
os.environ['PATH'] = os.pathsep.join((gtkbin, os.environ['PATH']))
import cairosvg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants