I noticed that this package failed to build in a fresh chroot, while it was installed on existing systems. A bit of debugging led me to bug #491496, which looks similar, but this is a separate issue. If x11-proto/xcb-proto-1.12-r2 is installed, the build fails: >>> Compiling source in /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1 ... * abi_x86_64.amd64: running multilib-minimal_abi_src_compile make -j4 Making all in src make[1]: Entering directory '/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1-abi_x86_64.amd64/src' /usr/bin/python3.4 /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py -c "libxcb 1.11.1" -l "X Version 11" \ -s "3" -p /dev/null \ /usr/share/xcb/xproto.xml /usr/bin/python3.4 /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py -c "libxcb 1.11.1" -l "X Version 11" \ -s "3" -p /dev/null \ /usr/share/xcb/bigreq.xml /usr/bin/python3.4 /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py -c "libxcb 1.11.1" -l "X Version 11" \ -s "3" -p /dev/null \ /usr/share/xcb/xc_misc.xml /usr/bin/python3.4 /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py -c "libxcb 1.11.1" -l "X Version 11" \ -s "3" -p /dev/null \ /usr/share/xcb/composite.xml /usr/bin/python3.4 /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py -c "libxcb 1.11.1" -l "X Version 11" \ -s "3" -p /dev/null \ /usr/share/xcb/damage.xml /usr/bin/python3.4 /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py -c "libxcb 1.11.1" -l "X Version 11" \ -s "3" -p /dev/null \ /usr/share/xcb/dpms.xml /usr/bin/python3.4 /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py -c "libxcb 1.11.1" -l "X Version 11" \ -s "3" -p /dev/null \ /usr/share/xcb/dri2.xml /usr/bin/python3.4 /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py -c "libxcb 1.11.1" -l "X Version 11" \ -s "3" -p /dev/null \ /usr/share/xcb/dri3.xml /usr/bin/python3.4 /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py -c "libxcb 1.11.1" -l "X Version 11" \ -s "3" -p /dev/null \ /usr/share/xcb/present.xml Traceback (most recent call last): File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 2931, in <module> module.generate() File "/usr/lib64/python3.4/site-packages/xcbgen/state.py", line 106, in generate item.out(name) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 2764, in c_request _c_type_setup(self, name, ('request',)) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 426, in _c_type_setup _c_serialize('sizeof', self) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 1104, in _c_serialize param_fields, wire_fields, params = get_serialize_params(context, self) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 622, in get_serialize_params unresolved_fields = resolve_expr_fields(self) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 569, in resolve_expr_fields expr_fields += get_expr_fields(field.type) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 541, in get_expr_fields unresolved_fields_names = get_expr_field_names(self.expr) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 537, in get_expr_field_names return get_expr_field_names(expr.lhs) + get_expr_field_names(expr.rhs) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 511, in get_expr_field_names if expr.op is None: AttributeError: 'NoneType' object has no attribute 'op' Makefile:1318: recipe for target 'dri2.c' failed make[1]: *** [dri2.c] Error 1 make[1]: *** Waiting for unfinished jobs.... Traceback (most recent call last): File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 2931, in <module> module.generate() File "/usr/lib64/python3.4/site-packages/xcbgen/state.py", line 106, in generate item.out(name) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 2764, in c_request _c_type_setup(self, name, ('request',)) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 426, in _c_type_setup _c_serialize('sizeof', self) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 1104, in _c_serialize param_fields, wire_fields, params = get_serialize_params(context, self) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 622, in get_serialize_params unresolved_fields = resolve_expr_fields(self) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 569, in resolve_expr_fields expr_fields += get_expr_fields(field.type) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 541, in get_expr_fields unresolved_fields_names = get_expr_field_names(self.expr) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 537, in get_expr_field_names return get_expr_field_names(expr.lhs) + get_expr_field_names(expr.rhs) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 511, in get_expr_field_names if expr.op is None: AttributeError: 'NoneType' object has no attribute 'op' Makefile:1318: recipe for target 'xproto.c' failed make[1]: *** [xproto.c] Error 1 Traceback (most recent call last): File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 2931, in <module> module.generate() File "/usr/lib64/python3.4/site-packages/xcbgen/state.py", line 106, in generate item.out(name) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 2764, in c_request _c_type_setup(self, name, ('request',)) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 426, in _c_type_setup _c_serialize('sizeof', self) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 1104, in _c_serialize param_fields, wire_fields, params = get_serialize_params(context, self) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 622, in get_serialize_params unresolved_fields = resolve_expr_fields(self) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 569, in resolve_expr_fields expr_fields += get_expr_fields(field.type) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 541, in get_expr_fields unresolved_fields_names = get_expr_field_names(self.expr) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 537, in get_expr_field_names return get_expr_field_names(expr.lhs) + get_expr_field_names(expr.rhs) File "/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/c_client.py", line 511, in get_expr_field_names if expr.op is None: AttributeError: 'NoneType' object has no attribute 'op' Makefile:1318: recipe for target 'present.c' failed make[1]: *** [present.c] Error 1 make[1]: Leaving directory '/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1-abi_x86_64.amd64/src' Makefile:786: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1 downgrading xcb-proto to 1.11 works around the issue.
I don't disagree yet that this is something we should improve on if necessary with some dep locking, but curious - why are you mixing package visibility here?
(In reply to Mart Raudsepp from comment #1) > I don't disagree yet that this is something we should improve on if > necessary with some dep locking, but curious - why are you mixing package > visibility here? Internally we have several profiles/features, and xcb (X11 in general) are masked. I noticed this on a profile with it unmasked. I think the unmasking could be tweaked to avoid this, which I'm looking at, but wanted to report the issue in case it affects others.
(In reply to Austin English from comment #2) > (In reply to Mart Raudsepp from comment #1) > > I don't disagree yet that this is something we should improve on if > > necessary with some dep locking, but curious - why are you mixing package > > visibility here? > > Internally we have several profiles/features, and xcb (X11 in general) are > masked. I noticed this on a profile with it unmasked. > > I think the unmasking could be tweaked to avoid this, which I'm looking at, > but wanted to report the issue in case it affects others. For reference, installing 1.12 versions of both works: x11-libs/libxcb-1.12 x11-proto/xcb-proto-1.12-r2
libxcb-1.11 and xcb-proto-1.11 are no longer in the tree.