<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>