[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