# make Making all in atom make[1]: Entering directory `/tmp/xcb-util-0.2/atom' make all-am make[2]: Entering directory `/tmp/xcb-util-0.2/atom' if /bin/sh ../libtool --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"xcb-util\" -DPACKAGE_TARNAME=\"xcb-util\" -DPACKAGE_VERSION=\"0.2\" -DPACKAGE_STRING=\"xcb-util\ 0.2\" -DPACKAGE_BUGREPORT=\"xcb@lists.freedesktop.org\" -DPACKAGE=\"xcb-util\" -DVERSION=\"0.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I/usr/local/include -Wall -s -O3 -march=i686 -MT libxcb_atom_la-atoms.lo -MD -MP -MF ".deps/libxcb_atom_la-atoms.Tpo" -c -o libxcb_atom_la-atoms.lo `test -f 'atoms.c' || echo './'`atoms.c; \ then mv -f ".deps/libxcb_atom_la-atoms.Tpo" ".deps/libxcb_atom_la-atoms.Plo"; else rm -f ".deps/libxcb_atom_la-atoms.Tpo"; exit 1; fi gcc -DPACKAGE_NAME=\"xcb-util\" -DPACKAGE_TARNAME=\"xcb-util\" -DPACKAGE_VERSION=\"0.2\" "-DPACKAGE_STRING=\"xcb-util 0.2\"" -DPACKAGE_BUGREPORT=\"xcb@lists.freedesktop.org\" -DPACKAGE=\"xcb-util\" -DVERSION=\"0.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. -I/usr/local/include -Wall -s -O3 -march=i686 -MT libxcb_atom_la-atoms.lo -MD -MP -MF .deps/libxcb_atom_la-atoms.Tpo -c atoms.c -fPIC -DPIC -o .libs/libxcb_atom_la-atoms.o atoms.gperf:2:21: xcb/xcb.h: No such file or directory In file included from atoms.gperf:4: xcb_atom.h:11: error: parse error before "xcb_intern_atom_cookie_t" xcb_atom.h:11: warning: no semicolon at end of struct or union xcb_atom.h:11: warning: no semicolon at end of struct or union xcb_atom.h:12: warning: type defaults to `int' in declaration of `atom' xcb_atom.h:12: warning: data definition has no type or storage class xcb_atom.h:13: warning: type defaults to `int' in declaration of `u' xcb_atom.h:13: warning: data definition has no type or storage class xcb_atom.h:14: error: parse error before '}' token xcb_atom.h:14: warning: type defaults to `int' in declaration of `intern_atom_fast_cookie_t' xcb_atom.h:14: warning: data definition has no type or storage class xcb_atom.h:16: error: parse error before "intern_atom_predefined" xcb_atom.h:16: error: parse error before "name_len" xcb_atom.h:16: warning: type defaults to `int' in declaration of `intern_atom_predefined' xcb_atom.h:16: warning: data definition has no type or storage class xcb_atom.h:17: error: parse error before "intern_atom_fast" xcb_atom.h:17: error: parse error before '*' token xcb_atom.h:17: warning: type defaults to `int' in declaration of `intern_atom_fast' xcb_atom.h:17: warning: data definition has no type or storage class xcb_atom.h:18: error: parse error before "intern_atom_fast_reply" xcb_atom.h:18: error: parse error before '*' token xcb_atom.h:18: warning: type defaults to `int' in declaration of `intern_atom_fast_reply' xcb_atom.h:18: warning: data definition has no type or storage class xcb_atom.h:20: error: parse error before "atom" xcb_atom.h:21: error: parse error before '*' token xcb_atom.h:23: error: parse error before "PRIMARY" xcb_atom.h:23: warning: type defaults to `int' in declaration of `PRIMARY' xcb_atom.h:23: warning: data definition has no type or storage class xcb_atom.h:24: error: parse error before "SECONDARY" xcb_atom.h:24: warning: type defaults to `int' in declaration of `SECONDARY' xcb_atom.h:24: warning: data definition has no type or storage class xcb_atom.h:25: error: parse error before "ARC" xcb_atom.h:25: warning: type defaults to `int' in declaration of `ARC' xcb_atom.h:25: warning: data definition has no type or storage class xcb_atom.h:26: error: parse error before "ATOM" xcb_atom.h:26: warning: type defaults to `int' in declaration of `ATOM' xcb_atom.h:26: warning: data definition has no type or storage class xcb_atom.h:27: error: parse error before "BITMAP" xcb_atom.h:27: warning: type defaults to `int' in declaration of `BITMAP' xcb_atom.h:27: warning: data definition has no type or storage class xcb_atom.h:28: error: parse error before "CARDINAL" xcb_atom.h:28: warning: type defaults to `int' in declaration of `CARDINAL' xcb_atom.h:28: warning: data definition has no type or storage class xcb_atom.h:29: error: parse error before "COLORMAP" xcb_atom.h:29: warning: type defaults to `int' in declaration of `COLORMAP' xcb_atom.h:29: warning: data definition has no type or storage class [...]
What version of libxcb do you have installed? You presumably have xcb.pc installed, or else ./configure would have failed. Since you're missing xcb/xcb.h, I suspect you have libxcb 0.9 or earlier. You should use at least libxcb 1.0, or preferably the recently-released libxcb 1.1. Does that solve this problem for you? If so, then the bug here is that the configure script doesn't check what version of XCB is installed. Otherwise, please look into why you don't have xcb/xcb.h in your include path.
You are completely right, that was it. I upgraded libxcb and the problem disappeared.
Thanks for the feedback. I've added a version check to xcb-util in git, so the next time we release those libraries this problem should be more obvious.
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.