[cairo-bugs] [Bug 59264] 'xcb_generic_error_t' has no member named 'major_code' and no member named 'minor_code'

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Jan 12 14:09:27 PST 2013


https://bugs.freedesktop.org/show_bug.cgi?id=59264

--- Comment #2 from Peter Dyballa <Peter_Dyballa at Freenet.DE> ---
(In reply to comment #1)
> 
> Are you really, really, really sure that this is xcb 1.9? And there is no
> older version of xcb laying around somewhere? The function
> xcb_discard_reply() was added in libxcb 1.6.

Configure performs this check:

      xcb_REQUIRES="xcb >= 1.6 xcb-render >= 1.6"
      ($PKG_CONFIG --exists --print-errors "$xcb_REQUIRES") 2>&5

and then reports:

    checking for xcb... yes

So configure likely checked a libxcb version >= 1.6. Changing directory to
libxcb-1.9 I get:

    find . -type f -name "*.[ch]" -exec grep xcb_discard_reply {} /dev/null \;
    ./src/xcb.h:void xcb_discard_reply(xcb_connection_t *c, unsigned int
sequence);
    ./src/xcb_in.c:void xcb_discard_reply(xcb_connection_t *c, unsigned int
sequence)
    ./src/xcbext.h: * xcb_discard_reply(). */

These lines from the compilation with -H show the use of the original Mac OS X
libxcb header files:

    /usr/X11/include/xcb/render.h
    /usr/X11/include/xcb/shm.h
    /usr/X11/include/xcb/xcb.h
    /usr/X11/include/xcb/xcbext.h
    /usr/X11/include/xcb/xproto.h

It is version 1.2… Which explains the failure. The cause is here (from
config.log):

    xcb_CFLAGS='-I${HOME}/Softwaren64/include -I/usr/X11/include  '
    xcb_LIBS='-L${HOME}/Softwaren64/lib -lxcb-render -lxcb  '
    xcb_shm_CFLAGS='-I${HOME}/Softwaren64/include -I/usr/X11/include  '
    xcb_shm_LIBS='-L${HOME}/Softwaren64/lib -lxcb-shm -lxcb  '
    xlib_CFLAGS='-I/usr/X11/include  '
    xlib_LIBS='-L/usr/X11/lib -lX11 -lXext  '
    xlib_xcb_CFLAGS=''
    xlib_xcb_LIBS=''
    xlib_xrender_CFLAGS='-I/usr/X11/include  '
    xlib_xrender_LIBS='-L/usr/X11/lib -lXrender -lX11  '

It uses Mac OS X's original libX11, which is version 1.2.1. I am also using
fontconfig from Mac OS X, so I have one more reason to include
/usr/X11/include. But GCC 4 (at least on Mac OS X) knows the option -idirafter.
Configuring as in:

    env LANG=C
PATH=${HOME}/Softwaren64/bin:/usr/bin:/opt/local/x86_64-apple-darwin10.8.0/bin:/opt/local/bin:$PATH
./configure --prefix=${HOME}/Softwaren64 --with-pic --enable-static
--x-includes=/usr/X11/include --x-libraries=/usr/X11/lib CPPFLAGS="-H
-I${HOME}/Softwaren64/include -idirafter /usr/X11/include -DCAIRO_NO_MUTEX=1"
CFLAGS="-pipe -fPIC -fno-common -Os -march=core2 -mtune=core2 -m64
-fomit-frame-pointer -msse4.2" LDFLAGS="-m64 -Wl,-t -Wl,-dead_strip_dylibs
-L${HOME}/Softwaren64/lib"
PKG_CONFIG_PATH=${HOME}/Softwaren64/lib/pkgconfig:/usr/lib/pkgconfig:/usr/X11/share/pkgconfig:/usr/X11/lib/pkgconfig

allows to successfully build Cairo 1.12.8!


Thank you for encouraging me to search my own failures!

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo-bugs/attachments/20130112/1fc47cda/attachment.html>


More information about the cairo-bugs mailing list