<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - 'xcb_generic_error_t' has no member named 'major_code' and no member named 'minor_code'"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=59264#c2">Comment # 2</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - 'xcb_generic_error_t' has no member named 'major_code' and no member named 'minor_code'"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=59264">bug 59264</a>
              from <span class="vcard"><a class="email" href="mailto:Peter_Dyballa@Freenet.DE" title="Peter Dyballa <Peter_Dyballa@Freenet.DE>"> <span class="fn">Peter Dyballa</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=59264#c1">comment #1</a>)
<span class="quote">> 
> 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.</span >

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!</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>