Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 311701

Summary: x11-libs/libxcb-1.5 ignores ROOT
Product: Gentoo Linux Reporter: Angelo Arrifano (RETIRED) <miknix>
Component: Current packagesAssignee: Gentoo X packagers <x11>
Status: RESOLVED OBSOLETE    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Angelo Arrifano (RETIRED) gentoo-dev 2010-03-27 23:55:56 UTC
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.
Comment 1 Angelo Arrifano (RETIRED) gentoo-dev 2010-03-28 18:25:23 UTC
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.
Comment 2 Matt Turner gentoo-dev 2012-09-21 03:38:54 UTC
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.