proper dependency should be added Reproducible: Always
x11-libs/libxcb-1.9.1 compatible with x11-proto/xcb-proto-1.8-r3
Is the incompatibility what causes the following, or is that a different issue? Traceback (most recent call last): File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 2925, in <module> module.generate() File "/usr/lib64/python2.7/site-packages/xcbgen/state.py", line 103, in generate /usr/bin/python2.7 /var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py -p /usr/lib64/python2.7/site-packages /usr/share/xcb/xfixes.xml item.out(name) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 2788, in c_request _c_type_setup(self, name, ('request',)) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 338, in _c_type_setup _c_type_setup(field.type, field.field_type, ()) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 413, in _c_type_setup _c_serialize('serialize', self) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 1171, in _c_serialize count = _c_serialize_helper(context, self, code_lines, temp_vars, prefix=prefix) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 1045, in _c_serialize_helper space, prefix) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 690, in _c_serialize_helper_switch bitcase_expr = _c_accessor_get_expr(b.type.expr, None) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 1417, in _c_accessor_get_expr lenexp = _c_accessor_get_length(expr, field_mapping) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 1394, in _c_accessor_get_length lenfield_name = expr.lenfield_name AttributeError: 'list' object has no attribute 'lenfield_name' make[1]: *** [sync.c] Error 1
yes AttributeError: 'list' object has no attribute 'lenfield_name'
This patch fix the problem: http://cgit.freedesktop.org/xcb/libxcb/commit/?id=e602b65 Changes to be added to the ebuild: diff -ruN /usr/portage/x11-libs/libxcb/libxcb-1.9.1.ebuild libxcb-1.9.1.ebuild --- /usr/portage/x11-libs/libxcb/libxcb-1.9.1.ebuild 2013-10-08 07:31:37.000000000 +0200 +++ libxcb-1.9.1.ebuild 2013-11-20 08:04:30.139233262 +0100 @@ -43,4 +43,7 @@ --enable-xinput ) xorg-2_src_configure + cd "${S}" + epatch "${FILESDIR}/${P}-lenfield.patch" }
Created attachment 363618 [details, diff] Ebuild patch
Created attachment 363620 [details, diff] Lenfield patch
Could someone please fix this? The current version of qtgui depends on this specific version, because 1.9.3 is broken - so there currently is no way around installing libxcb-1.9.1 for me: =x11-libs/libxcb-1.9.1*[xkb] required by (dev-qt/qtgui-5.2.0_beta1::qt, installed)
Dennis: All it would take to "fix" this is to make =x11-libs/libxcb-1.9.1 depend on <x11-proto/xcb-proto-1.9 - you can manually mask =x11-proto/xcb-proto-1.9-r1 for the same effect.
(In reply to gerardo@gnuardo.com from comment #4) > This patch fix the problem: > http://cgit.freedesktop.org/xcb/libxcb/commit/?id=e602b65 This patch seems insufficient. After applying it (/etc/portage/{patches,env}), I get another error: In file included from /var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/xcb.h:185:0, from /var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/xcb_out.c:37: ./xproto.h:1216:3: error: conflicting types for 'xcb_ge_event_t' } xcb_ge_event_t; ^ In file included from /var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/xcb_out.c:37:0: /var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/xcb.h:155:3: note: previous declaration of 'xcb_ge_event_t' was here } xcb_ge_event_t; ^ make[2]: *** [xcb_out.lo] Error 1
(In reply to gerardo@gnuardo.com from comment #4) > This patch fix the problem: > http://cgit.freedesktop.org/xcb/libxcb/commit/?id=e602b65 And another error: Traceback (most recent call last): File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 2935, in <module> module.generate() File "/usr/lib64/python3.3/site-packages/xcbgen/state.py", line 101, in generate item.out(name) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 2798, in c_request _c_type_setup(self, name, ('request',)) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 338, in _c_type_setup _c_type_setup(field.type, field.field_type, ()) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 413, in _c_type_setup _c_serialize('serialize', self) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 1181, in _c_serialize count = _c_serialize_helper(context, self, code_lines, temp_vars, prefix=prefix) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 1055, in _c_serialize_helper space, prefix) File "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", line 690, in _c_serialize_helper_switch len_expr = len(b.type.expr) TypeError: object of type 'Expression' has no len()
Added libxcb-1.9.1-r1: Part of fix for bug 491496, thanks to Rion for reporting, thanks to gerardo for the libxcb-list-object-has-no-attribute-lenfield_name.patch. libxcb-1.9.1-conflicting-types-for-xcb_ge_event_t.patch by me. However this bug is not completely fixed yet, as (1) I have not added the upper bound: <x11-proto/xcb-proto-1.9-r1[${MULTILIB_USEDEP},${PYTHON_USEDEP}] x11-libs/libxcb-1.9.1.ebuild (2) x11-libs/libxcb-1.9.1-r1 needs testing
Hi Dennis. I found the patch for this error. It's located here: http://cgit.freedesktop.org/xcb/proto/commit/?id=a9a892e And we need also to modify the xcb-proto ebuild. I will add the patches to fix this bug. Mark I don't know if I did what you already did because I can't see your patch. Sorry! Cheers. (In reply to Dennis Schridde from comment #10) > (In reply to gerardo@gnuardo.com from comment #4) > > This patch fix the problem: > > http://cgit.freedesktop.org/xcb/libxcb/commit/?id=e602b65 > > And another error: > > Traceback (most recent call last): > File > "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", > line 2935, in <module> > module.generate() > File "/usr/lib64/python3.3/site-packages/xcbgen/state.py", line 101, in > generate > item.out(name) > File > "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", > line 2798, in c_request > _c_type_setup(self, name, ('request',)) > File > "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", > line 338, in _c_type_setup > _c_type_setup(field.type, field.field_type, ()) > File > "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", > line 413, in _c_type_setup > _c_serialize('serialize', self) > File > "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", > line 1181, in _c_serialize > count = _c_serialize_helper(context, self, code_lines, temp_vars, > prefix=prefix) > File > "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", > line 1055, in _c_serialize_helper > space, prefix) > File > "/var/tmp/portage/x11-libs/libxcb-1.9.1/work/libxcb-1.9.1/src/c_client.py", > line 690, in _c_serialize_helper_switch > len_expr = len(b.type.expr) > TypeError: object of type 'Expression' has no len()
Created attachment 364204 [details, diff] 1.8-r3-fix-expression-len.patch
Created attachment 364206 [details, diff] xcb-proto-1.8-r3.ebuild.patch
I think this is long since fixed upstream? Please confirm or reopen if not fixed.