Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 596278 - x11-libs/libxcb-1.11.1: fails to build with x11-proto/xcb-proto-1.12-r2, works with x11-proto/xcb-proto-1.11
Summary: x11-libs/libxcb-1.11.1: fails to build with x11-proto/xcb-proto-1.12-r2, work...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords: REGRESSION
Depends on:
Blocks:
 
Reported: 2016-10-05 17:46 UTC by Austin English (RETIRED)
Modified: 2018-03-11 18:41 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Austin English (RETIRED) gentoo-dev 2016-10-05 17:46:28 UTC
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.
Comment 1 Mart Raudsepp gentoo-dev 2016-10-05 18:01:55 UTC
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?
Comment 2 Austin English (RETIRED) gentoo-dev 2016-10-05 18:28:40 UTC
(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.
Comment 3 Austin English (RETIRED) gentoo-dev 2016-10-05 18:33:56 UTC
(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
Comment 4 Matt Turner gentoo-dev 2018-03-11 18:41:33 UTC
libxcb-1.11 and xcb-proto-1.11 are no longer in the tree.