Opened 9 years ago
Last modified 9 years ago
#48233 closed defect
py34-cairo seems to expect x11 cairo, not quartz — at Version 1
Reported by: | jenstroeger (Jens Troeger) | Owned by: | sean@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.3 |
Keywords: | Cc: | jeremyhu@… | |
Port: | py-cairo |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
Might be related to #34889 or #34724.
My cairo @1.14.2_1+quartz is built without x11 support, and I added py34-cairo @1.10.0_3 just now. However, when I then try to load cairo from Python, loading the library fails with what I suspect is a missing x11 symbol:
>>> import cairo Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/cairo/__init__.py", line 18, in <module> from ._cairo import * ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/cairo/_cairo.so, 2): Symbol not found: _cairo_xlib_surface_get_depth Referenced from: /opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/cairo/_cairo.so Expected in: /opt/local/lib/libcairo.2.dylib in /opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/cairo/_cairo.so
Change History (1)
comment:1 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | jeremyhu@… added; sean openmaintainer removed |
---|---|
Description: | modified (diff) |
Owner: | changed from macports-tickets@… to sean@… |
Note: See
TracTickets for help on using
tickets.
Did you get a binary from our packages server, or build py34-cairo from source? I suspect you got a binary. I suspect py-cairo builds itself differently depending on whether cairo has x11 support or not. Therefore, py-cairo should have an x11 variant, and use the require_active_variants procedure in the active_variants 1.1 portgroup to ensure a match between the variants of the py-cairo subports and the cairo port. That is what was done in r100265 to fix #34889. It was undone in r129111; see #38606. The removal of this code appears to have been incorrect and it or something like it should be reinstated.