Summary: | Build fails with unreferenced _cairo_xlib_screen_put_gc error symbol | ||
---|---|---|---|
Product: | cairo | Reporter: | mark |
Component: | xlib backend | Assignee: | Uli Schlachter <psychon> |
Status: | RESOLVED FIXED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | major | ||
Priority: | medium | ||
Version: | 1.12.0 | ||
Hardware: | SPARC | ||
OS: | Solaris | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
mark
2012-04-09 20:07:04 UTC
Uli, care to look at this? I know you've worked wonders with the convoluted set of ifdefs in the build system... Wonders? Me? Anyway, from a quick look at this, the proposed solution looks correct to me. I even managed to convince GCC to generate the same error message. commit 07fc63676dfdaa57ed919ad7be8f59c97c615473 Author: Uli Schlachter <psychon@znc.in> Date: Wed Apr 11 21:37:55 2012 +0200 xlib: Disable fallback compositor with xlib-xcb When xlib-xcb is enabled, this is just dead code which is never used. Thus, this shouldn't hurt. However, this does include cairo-xlib-private.h. Shouldn't be a problem? Well, that header contains static inline functions which some compiler on Solaris will emit even when they are unused. This brings us to the real problem: That static inline function refers to a function which isn't compiled with xlib-xcb and thus linking fails with undefined symbols. This can be reproduced with GCC by adding a call to _cairo_xlib_screen_put_gc(NULL, NULL, 0, 0); to _cairo_xlib_fallback_compositor_get. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48489 Signed-off-by: Uli Schlachter <psychon@znc.in> |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.