Opened 2 years ago

Last modified 15 months ago

#64499 new defect

py39-cairo @ 1.20.1 : ImportError: ... Symbol not found: _cairo_xcb_surface_set_size

Reported by: Blady-Com Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc:
Port: py-cairo

Description

Yesterday I did:

 1028  sudo port install gtk3 -x11 +quartz -universal
 1029  port select --set pygments py39-pygments
 1030  sudo port select --set python python39
 1031  sudo port select --set pygments py39-pygments
 1032  sudo port select --set python3 python39
 1033  sudo port install adwaita-icon-theme
 1034  sudo port install py39-gobject3

When importing cairo in python, I've got this error:

% python3      
Python 3.9.10 (main, Jan 15 2022, 12:21:28) 
[Clang 13.0.0 (clang-1300.0.29.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cairo
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/cairo/__init__.py", line 1, in <module>
    from ._cairo import *  # noqa: F401,F403
ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/cairo/_cairo.cpython-39-darwin.so, 0x0002): Symbol not found: _cairo_xcb_surface_set_size
  Referenced from: /opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/cairo/_cairo.cpython-39-darwin.so
  Expected in: /opt/local/lib/libcairo.2.dylib

% ll /opt/local/lib/libcairo.*
-rwxr-xr-x  1 root  admin   918K 22 jan 11:47 /opt/local/lib/libcairo.2.dylib*
-rw-r--r--  1 root  admin   1,5M 22 jan 11:47 /opt/local/lib/libcairo.a
lrwxr-xr-x  1 root  admin    16B 22 jan 11:47 /opt/local/lib/libcairo.dylib@ -> libcairo.2.dylib

% port installed cairo
The following ports are currently installed:
  cairo @1.17.4_0+quartz (active)

What could be missing?

Change History (3)

comment:1 Changed 2 years ago by jmroot (Joshua Root)

Port: py-cairo added; py39-cairo removed

comment:2 Changed 2 years ago by jmroot (Joshua Root)

Looks like pycairo expects cairo to be built with X11 support?

comment:3 Changed 15 months ago by DanielO (Daniel O'Connor)

+1 This was blocking me installing gnuradio (because it would say ":info:configure -- Dependency CAIRO_GI_FOUND = FALSE") - reinstalling cairo with the x11 variant as well as quartz fixed it.

A safety belt for py-cairo would be nice (or fixing the actual bug but no idea how difficult that would be)

Note: See TracTickets for help on using tickets.