Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Qtile crashed after installing python 3.6 #994

Closed
zordsdavini opened this issue Jan 6, 2017 · 7 comments

Comments

@zordsdavini
Copy link
Contributor

@zordsdavini zordsdavini commented Jan 6, 2017

Sadly I never learn lesson not to be quick with updates :(

2017-01-06 13:05:31,930 libqtile qtile.py:make_qtile():L119 Qtile crashed during startup Traceback (most recent call last):
File "/home/arnas/Skleps/qtile/libqtile/scripts/qtile.py", line 116, in make_qtiled
state=options.state,
File "/home/arnas/Skleps/qtile/libqtile/manager.py", line 175, in init
self._process_screens()
File "/home/arnas/Skleps/qtile/libqtile/manager.py", line 383, in _process_screens
self.groups[i],
File "/home/arnas/Skleps/qtile/libqtile/config.py", line 268, in _configure
i._configure(qtile, self)
File "/home/arnas/Skleps/qtile/libqtile/bar.py", line 193, in _configure
self.height
File "/home/arnas/Skleps/qtile/libqtile/drawer.py", line 244, in init
self.height,
File "/usr/lib/python3.6/site-packages/cairocffi/xcb.py", line 37, in init
p = cairo.cairo_xcb_surface_create(
AttributeError: cffi library 'libcairo.so.2' has no function, constant or global variable named 'cairo_xcb_surface_create'
Traceback (most recent call last):
File "/home/arnas/Skleps/qtile/scripts/../bin/qtile", line 33, in
qtile.main()
File "/home/arnas/Skleps/qtile/libqtile/scripts/qtile.py", line 125, in main
q = make_qtile()
File "/home/arnas/Skleps/qtile/libqtile/scripts/qtile.py", line 116, in make_qtile
state=options.state,
File "/home/arnas/Skleps/qtile/libqtile/manager.py", line 175, in init
self._process_screens()
File "/home/arnas/Skleps/qtile/libqtile/manager.py", line 383, in _process_screens
self.groups[i],
File "/home/arnas/Skleps/qtile/libqtile/config.py", line 268, in _configure
i._configure(qtile, self)
File "/home/arnas/Skleps/qtile/libqtile/bar.py", line 193, in _configure
self.height
File "/home/arnas/Skleps/qtile/libqtile/drawer.py", line 244, in init
self.height,
File "/usr/lib/python3.6/site-packages/cairocffi/xcb.py", line 37, in init
p = cairo.cairo_xcb_surface_create(
AttributeError: cffi library 'libcairo.so.2' has no function, constant or global variable named 'cairo_xcb_surface_create'

@ramnes

This comment has been minimized.

Copy link
Member

@ramnes ramnes commented Jan 6, 2017

It doesn't seem related to Python 3.6 to me, but rather to an incompatible version of libcairo. What OS are you using, and what's libcairo version?

@zordsdavini

This comment has been minimized.

Copy link
Contributor Author

@zordsdavini zordsdavini commented Jan 6, 2017

I tried python2 - it doesn't work, too.
Archlinux:

  • cairo 1.14.8-1
  • python-cairo 1.10.0-7
  • python-cairocffi 0.7.2-3
@zordsdavini

This comment has been minimized.

Copy link
Contributor Author

@zordsdavini zordsdavini commented Jan 6, 2017

python-cairo 1.10.0-7 was today updated

@zordsdavini

This comment has been minimized.

Copy link
Contributor Author

@zordsdavini zordsdavini commented Jan 6, 2017

I don't want to build qtile but I trying to add all information (during reinstalling):
==> Running setup.py
running install

It looks like your cairocffi was not built with xcffib support. To fix this:

  • Ensure a recent xcffib is installed (pip install 'xcffib>=0.3.2')
  • The pip cache is cleared (remove ~/.cache/pip, if it exists)
  • Reinstall cairocffi, either:
    pip install --no-deps --ignore-installed cairocffi
    or
    pip uninstall cairocffi && pip install cairocffi
@zordsdavini

This comment has been minimized.

Copy link
Contributor Author

@zordsdavini zordsdavini commented Jan 6, 2017

problem solved by rebuilding python-cairo and python-cairocffi (and qtile). Thanks "kas" in qtile irc :)

@ramnes

This comment has been minimized.

Copy link
Member

@ramnes ramnes commented Jun 1, 2019

Just got hit by this error while trying to run the tests in a virtualenv. I'm not sure why it happens, but a hack is to run pip install -I --no-cache-dir pycairo -r requirements.txt: we don't use pycairo anymore but as far as I understand, it bundles a proper version of cairo and makes everything work.

Edit: don't do this, see the next message.

@ramnes

This comment has been minimized.

Copy link
Member

@ramnes ramnes commented Jun 1, 2019

Better explanation now:

What a mess. 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.