Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#4362 closed defect (fixed)

xcb-proto + python3 fails

Reported by: thomas Owned by: Fernando de Oliveira
Priority: normal Milestone:
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

There seems to be an issue in xbc-proto (v1.9) when only Python3 (v3.3) is installed:

make[2]: Entering directory '/mnt/pub/belfs/belfs/xc/xcb-proto-1.9/src'
make[2]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/usr/X11/share/xcb'
 /usr/bin/install -c -m 644 xcb.xsd xproto.xml bigreq.xml composite.xml damage.xml dpms.xml dri2.xml dri3.xml ge.xml glx.xml present.xml randr.xml record.xml render.xml res.xml screensaver.xml shape.xml shm.xml sync.xml xc_misc.xml xevie.xml xf86dri.xml xf86vidmode.xml xfixes.xml xinerama.xml xinput.xml xkb.xml xprint.xml xselinux.xml xtest.xml xv.xml xvmc.xml '/usr/X11/share/xcb'
make[2]: Leaving directory '/mnt/pub/belfs/belfs/xc/xcb-proto-1.9/src'
make[1]: Leaving directory '/mnt/pub/belfs/belfs/xc/xcb-proto-1.9/src'
Making install in xcbgen
make[1]: Entering directory '/mnt/pub/belfs/belfs/xc/xcb-proto-1.9/xcbgen'
make[2]: Entering directory '/mnt/pub/belfs/belfs/xc/xcb-proto-1.9/xcbgen'
make[2]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/usr/X11/lib/python3.3/site-packages/xcbgen'
 /usr/bin/install -c -m 644 __init__.py error.py expr.py matcher.py state.py xtypes.py '/usr/X11/lib/python3.3/site-packages/xcbgen'
  File "<string>", line 6
    print 'Byte-compiling python modules...'
                                           ^
SyntaxError: invalid syntax
Makefile:260: recipe for target 'install-pkgpythonPYTHON' failed
make[2]: *** [install-pkgpythonPYTHON] Error 1
make[2]: Leaving directory '/mnt/pub/belfs/belfs/xc/xcb-proto-1.9/xcbgen'
Makefile:357: recipe for target 'install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory '/mnt/pub/belfs/belfs/xc/xcb-proto-1.9/xcbgen'
Makefile:376: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1

Andy from ArchLinux has reported this issue upstream (http://lists.freedesktop.org/archives/xcb/2013-November/008789.html) No answer yet.

Attachments (1)

xcb-proto-1.9-py_compile_python3-1.patch (1.8 KB ) - added by Fernando de Oliveira 10 years ago.

Download all attachments as: .zip

Change History (15)

comment:1 by Fernando de Oliveira, 10 years ago

Please, try the attached patch (only for Python3).

by Fernando de Oliveira, 10 years ago

comment:2 by Wayne Blaszczyk, 10 years ago

The following worked for me (from Gentoo):

rm -f py-compile
autoreconf -fi
./configure --prefix=/usr
make install

comment:3 by Fernando de Oliveira, 10 years ago

Owner: changed from blfs-book@… to Fernando de Oliveira
Status: newassigned

comment:4 by Fernando de Oliveira, 10 years ago

Resolution: fixed
Status: assignedclosed

Thanks, Wayne. I was already editing, when you posted that alternative solution.

The patch should work also for Python2, but not necessary, thus, introduced it as required just for python2.

I was waiting for a reply from Thomas. Perhaps he installed Python2. But could test with

PYTHON=/usr/bin/python3 ./configure $XORG_CONFIG

Fixed at r12279.

comment:5 by Wayne Blaszczyk, 10 years ago

Can you let me know if you can build libxcb. I'm having issue with this and it might be related back to xcb-proto.

make[1]: Entering directory `/sources/libxcb-1.9.3/src'
/usr/bin/python3 ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xproto.xml
Traceback (most recent call last):
  File "./c_client.py", line 2982, in <module>
    from xcbgen.state import Module
  File "/usr/lib/python3.3/site-packages/xcbgen/state.py", line 7, in <module>
    from xcbgen import matcher
  File "/usr/lib/python3.3/site-packages/xcbgen/matcher.py", line 12, in <module>
    from xcbgen.xtypes import *
  File "/usr/lib/python3.3/site-packages/xcbgen/xtypes.py", line 82
    new_fd = Field(self, module.get_type_name('INT32'), fd_name, True, False, False, None, True)
                                                                                               ^
TabError: inconsistent use of tabs and spaces in indentation
make[1]: *** [xproto.c] Error 1

comment:6 by Wayne Blaszczyk, 10 years ago

It is related to xcb-proto. Not sure if a new ticket should be raised, but the above was fixed by the following (again from Gentoo)

sed -i -e 's/\t/    /' xcbgen/xtypes.py
Last edited 10 years ago by Wayne Blaszczyk (previous) (diff)

comment:7 by Fernando de Oliveira, 10 years ago

Thanks. I was investigating, but like your solution. Please, open a ticket. If you wish, accept and fix it. I miss your editions in BLFS, would like to have you back editing. Speaking just for me, do not know what other editors think. Would like your help with gnome to bring it back as I asked two days ago in -dev.

comment:8 by Fernando de Oliveira, 10 years ago

Before comment 6 and 7, I was writing ths on. It is not anymore relevant, but can explain what I meant about investigating.

Yes, I have built libxcb-1.9.3, after xcb-proto built with the patch, and Xorg works fine.

Did not pass PYTHON=/usr/bin/python3, just used instructions as in the book. I am investigating further, just noticed it is using python 2 and python 3.

$ xzgrep -i pyt libxcb-1.9.3-2013.11.25-06h40m55s.log.xz
checking for a Python interpreter with version >= 2.6... python
checking for python... /usr/bin/python
checking for python version... 2.7
checking for python platform... linux2
checking for python script directory... ${prefix}/lib/python2.7/site-packages
checking for python extension module directory... ${exec_prefix}/lib/python2.7/site-packages
checking XCBPROTO_XCBPYTHONDIR... /usr/lib/python3.3/site-packages
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xproto.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/bigreq.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xc_misc.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/composite.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/damage.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/dpms.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/dri2.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/dri3.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/present.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/glx.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/randr.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/record.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/render.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/res.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/screensaver.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/shape.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/shm.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/sync.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xevie.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xf86dri.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xfixes.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xinerama.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xinput.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xkb.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xprint.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xselinux.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xtest.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xv.xml
/usr/bin/python ./c_client.py -p /usr/lib/python3.3/site-packages /usr/share/xcb/xvmc.xml

Do you have both installed? Did you use that solution from gentoo passing PYTHON=/usr/bin/python3 for xcb-proto?

in reply to:  6 comment:9 by Fernando de Oliveira, 10 years ago

Replying to wblaszcz:

It is related to xcb-proto. Not sure if a new ticket should be raised, but the above was fixed by the following (again from Gentoo)

sed -i -e 's/\t/    /' xcbgen/xtypes.py

Only now I understood. Was doing other things and only replying. This needs to be fixed also in xcb-proto, not libxcb as I thought at the beginning. I will do it. Thanks.

comment:10 by Fernando de Oliveira, 10 years ago

Resolution: fixed
Status: closedreopened

comment:11 by Fernando de Oliveira, 10 years ago

Status: reopenednew

comment:12 by Fernando de Oliveira, 10 years ago

Resolution: fixed
Status: newclosed

Thank you versy much, Wayne!!!

Hope it is fixed at 12283.

comment:13 by Wayne Blaszczyk, 10 years ago

To comment 6, I re-edited my comment to include 'It is related to xcb-proto' to make it clear. You must have read my comment prior to my edit.

To comment 8, at the time, I only had Python3 installed and I did not pass PYTHON=/usr/bin/python3.

To comment 7, there are to reasons why I haven't been contributing. 1) I have limited time. 2) I use systemd.

comment:14 by bdubbs@…, 10 years ago

Milestone: current

Milestone current deleted

Note: See TracTickets for help on using tickets.