Build fails on Raspbian Lite Stretch, Cython 0.29.12: "kivy/lib/vidcore_lite/egl.pyx:4:8: 'bcm.pxd' not found"
See original GitHub issueTrying to build Kivy with EGL/GLES2 backend on a Pi3 with Raspbian Stretch, Python 3.5.3 and Cython 0.29.12. Here’s what I’ve done:
$ sudo pip3 install Cython
$ sudo pip3 install pillow
$ mkdir sources
$ cd sources
$ git clone https://github.com/kivy/kivy
$ cd kivy
$ USE_SDL2=0 CFLAGS="-I/opt/vc/include/" make
This runs for a while, then errors out with:
cythoning kivy/lib/vidcore_lite/egl.pyx to kivy/lib/vidcore_lite/egl.c
Error compiling Cython file:
------------------------------------------------------------
...
from libc.stdlib cimport malloc, free
from .bcm cimport DISPMANX_ELEMENT_HANDLE_T, ElementHandle
cimport bcm
^
------------------------------------------------------------
kivy/lib/vidcore_lite/egl.pyx:4:8: 'bcm.pxd' not found
Ominously, an Internet search for kivy/lib/vidcore_lite/egl.pyx:4:8: 'bcm.pxd' not found
gives zero results. Any ideas?
Issue Analytics
- State:
- Created 4 years ago
- Comments:20 (8 by maintainers)
Top Results From Across the Web
Python old version of Cython even when newer version installed
I installed Cython 0.24.1 on my Raspberry Pi by doing this: ... no files found matching '*.pxd' under directory 'Cython/Utility' Installing ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Also, sdl2 is probably the best provider in any case because the egl provider is not a real window which means you may have issues where touch events are passed to stuff behind the kivy window in addition to kivy. I’m not sure what other people do about this. If you do use the egl window, you should probably enable the touchring module so that touches are shown.
What you probably want is the egl window provider then,
KIVY_WINDOW=egl_rpi
.