[MacPorts] #48233: py34-cairo seems to expect x11 cairo, not quartz
MacPorts
noreply at macports.org
Thu Jul 2 23:33:13 PDT 2015
#48233: py34-cairo seems to expect x11 cairo, not quartz
-----------------------------+--------------------
Reporter: jens.troeger@… | Owner: sean@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.3.3
Resolution: | Keywords:
Port: py-cairo |
-----------------------------+--------------------
Changes (by ryandesign@…):
* cc: sean, openmaintainer (removed)
* cc: jeremyhu@… (added)
* owner: macports-tickets@… => sean@…
Old description:
> Might be related to [https://trac.macports.org/ticket/34889 #34889] or
> [https://trac.macports.org/ticket/34724 #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
> }}}
New description:
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
}}}
--
Comment:
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.
--
Ticket URL: <https://trac.macports.org/ticket/48233#comment:1>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list