when cross-compiling CHOST="armv5tel-softfloat-linux-gnueabi", x11-libs/libxcb-1.5 first tries to link xcb-proto files from CBUILD sysroot: Making all in src make[1]: Entering directory `/usr/armv5tel-softfloat-linux-gnueabi/tmp/portage/x11-libs/libxcb-1.5/work/libxcb-1.5/src' ln -s -f /usr/share/xcb/xproto.xml xproto.xml ln -s -f /usr/share/xcb/bigreq.xml bigreq.xml ln -s -f /usr/share/xcb/xc_misc.xml xc_misc.xml ln -s -f /usr/share/xcb/composite.xml composite.xml (...) Then tries to do something again with files out of CHOST root: /usr/bin/python ./c_client.py -p /usr/lib64/python2.6/site-packages /usr/share/xcb/xproto.xml /usr/bin/python ./c_client.py -p /usr/lib64/python2.6/site-packages /usr/share/xcb/bigreq.xml /usr/bin/python ./c_client.py -p /usr/lib64/python2.6/site-packages /usr/share/xcb/xc_misc.xml /usr/bin/python ./c_client.py -p /usr/lib64/python2.6/site-packages /usr/share/xcb/composite.xml /usr/bin/python ./c_client.py -p /usr/lib64/python2.6/site-packages /usr/share/xcb/damage.xml /usr/bin/python ./c_client.py -p /usr/lib64/python2.6/site-packages /usr/share/xcb/dpms.xml /usr/bin/python ./c_client.py -p /usr/lib64/python2.6/site-packages /usr/share/xcb/dri2.xml Traceback (most recent call last): File "./c_client.py", line 1034, in <module> module = Module(args[0], output) File "/usr/lib64/python2.6/site-packages/xcbgen/state.py", line 64, in __init__ self.namespace = Namespace(filename) File "/usr/lib64/python2.6/site-packages/xcbgen/state.py", line 32, in __init__ self.root = parse(filename).getroot() File "<string>", line 45, in parse File "<string>", line 22, in parse IOError: [Errno 2] No such file or directory: '/usr/share/xcb/dri2.xml' This would go totally unnoticed if xcb-proto versions of CBUILD and CHOST matched. However my CBUILD root has x11-proto/xcb-proto-1.5 which doesn't have /usr/share/xcb/dri2.xml which makes the build fail.
Further inspection of libxcb tells that XCBPROTO_XCBPYTHONDIR and XCBPROTO_XCBINCLUDEDIR are set by pkgconfig which in turn gets their values from the xcb-proto.pc $ cat /usr/armv5tel-softfloat-linux-gnueabi/usr/lib/pkgconfig/xcb-proto.pc prefix=/usr datarootdir=${prefix}/share datadir=/usr/share xcbincludedir=${datadir}/xcb pythondir=${prefix}/lib64/python2.6/site-packages Name: XCB Proto Description: X protocol descriptions for XCB Version: 1.6 The problem is then on xcb-proto which generates wrong package-config files. AFAIK, these errors on .pc files are supposed to be fixed automatically by crossdev-wrappers so I'll have a look.
libxcb 1.7 is the oldest version still in the tree. I don't know if you intend(ed) to fix this bug, but I'm going to close it since it's not doing anyone any good.