Tiny Core Linux
Tiny Core Extensions => TCE Talk => Topic started by: saladin on September 11, 2020, 09:19:57 AM
-
I'm trying to use kivy, which is a Python module. But every time I go to compile, I get a message saying "No matching FB config found". I've been searching the forums, but nothing I've found seems to help.
-
FB config sounds like an X thing. Could be it's a GUI thing and requires Xorg and/or opengl?
-
I think it is a GUI thing, but installing Xorg and opengl doesn't fix it.
-
Hi saladin
You provide 1 error message, but without some information about what led up to it, it lacks context. Is your problem
similar to this:
https://www.reddit.com/r/kivy/comments/ioxm5y/no_matching_fb_config_found
Based on the info in that thread, maybe you need:
libEGL-dev.tcz
libEGL.tcz
and possibly some of these:
sdl2-dev.tcz
sdl2_image-dev.tcz
sdl2_image.tcz
sdl2.tcz
sdl2_ttf-dev.tcz
sdl2_ttf.tcz
-
Sorry, that's me in the reddit thread. Even with all of that, I still can't get it working. I'm still getting the same error message. Is there anything else I can try, or anywhere else I can ask?
-
You need these :
compiletc
git
python3.6-dev
cython3.6-dev
ffmpeg4-dev
libsdl2-dev
libsdl2_image-dev
libsdl2_mixer-dev
libsdl2_ttf-dev
zlib1g-dev
libportmidi is not there in repo. You need to make it. -dev files of libavformat... are in ffmpeg4-dev (Why ?).
-
..because ffmpeg is the name of the source code that supplies libav*
-
cython3.6-dev
libsdl2-dev
libsdl2_image-dev
libsdl2_mixer-dev
libsdl2_ttf-dev
zlib1g-dev
These don't seem to exist for 64-bit. Is it easier just to use 32-bit for this project?
-
There is no cython3.6-dev. Just download cython3.6.
sdl2-dev.tcz
sdl2_image-dev.tcz
sdl2_mixer-dev.tcz
sdl2_ttf-dev.tcz
zlib1g-dev is zlib_base-dev.
They are in 64-bit repo. With different names. I checked in the website.
But Juanito, other distros have it separated. I (just) suggest adding a false package or seperating them.
-
Hi saladin
Is this for x86_64 or Raspberry Pi?
-
x86_64, though I could change to 32 if it's easier.
-
Tried what Sashank999 recommended. It worked! I no longer get the "No matching FB config found" error. Now I get a completely different error:
[INFO ] Logger: Record log in /home/tc/.kivy/logs/kivy_20-09-12_3.txt
[INFO ] Kivy: v1.11.1
[INFO ] Kivy: Installed at "/usr/local/lib/python3.6/site-packages/kivy/__init__.py"
[INFO ] Python: v3.6.4 (default, Mar 9 2018, 12:22:02)
[GCC 7.2.0]
[INFO ] Python: Interpreter at "/usr/local/bin/python3.6"
[INFO ] Factory: 184 symbols loaded
[DEBUG ] Cache: register <kv.lang> with limit=None, timeout=None
[DEBUG ] Cache: register <kv.image> with limit=None, timeout=60
[DEBUG ] Cache: register <kv.atlas> with limit=None, timeout=None
[INFO ] Image: Providers: img_tex, img_dds, img_gif (img_sdl2, img_pil, img_ffpyplayer ignored)
[DEBUG ] Cache: register <kv.texture> with limit=1000, timeout=60
[DEBUG ] Cache: register <kv.shader> with limit=1000, timeout=3600
[DEBUG ] Text: Provider <pango> ignored by config
[INFO ] Text: Provider: sdl2(['text_pango'] ignored)
[DEBUG ] Cache: register <textinput.label> with limit=None, timeout=60.0
[DEBUG ] Cache: register <textinput.width> with limit=None, timeout=60.0
[DEBUG ] App: Loading kv <./epic.kv>
[DEBUG ] App: kv <./epic.kv> not found
[DEBUG ] Window: Ignored <egl_rpi> (import error)
[INFO ] Window: Provider: sdl2(['window_egl_rpi'] ignored)
[INFO ] GL: Using the "OpenGL" graphics system
[INFO ] GL: Backend used <sdl2>
[INFO ] GL: OpenGL version <b'3.1 Mesa 19.2.3'>
[INFO ] GL: OpenGL vendor <b'VMware, Inc.'>
[INFO ] GL: OpenGL renderer <b'llvmpipe (LLVM 8.0, 128 bits)'>
[INFO ] GL: OpenGL parsed version: 3, 1
[INFO ] GL: Shading version <b'1.40'>
[INFO ] GL: Texture max size <8192>
[INFO ] GL: Texture max units <32>
[DEBUG ] Shader: Fragment compiled successfully
[DEBUG ] Shader: Vertex compiled successfully
[DEBUG ] Window: Ignored <x11> (import error)
[CRITICAL] Window: Unable to find any valuable Window provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
egl_rpi - ImportError: cannot import name 'bcm'
File "/usr/local/lib/python3.6/site-packages/kivy/core/__init__.py", line 63, in core_select_lib
fromlist=[modulename], level=0)
File "/usr/local/lib/python3.6/site-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
from kivy.lib.vidcore_lite import bcm, egl
sdl2 - Exception: Unknown <png> type, no loader found.
File "/usr/local/lib/python3.6/site-packages/kivy/core/__init__.py", line 71, in core_select_lib
cls = cls()
File "/usr/local/lib/python3.6/site-packages/kivy/core/window/window_sdl2.py", line 152, in __init__
super(WindowSDL, self).__init__()
File "/usr/local/lib/python3.6/site-packages/kivy/core/window/__init__.py", line 981, in __init__
self.create_window()
File "/usr/local/lib/python3.6/site-packages/kivy/core/window/window_sdl2.py", line 312, in create_window
super(WindowSDL, self).create_window()
File "/usr/local/lib/python3.6/site-packages/kivy/core/window/__init__.py", line 1258, in create_window
self.render_context = RenderContext()
File "kivy/graphics/instructions.pyx", line 783, in kivy.graphics.instructions.RenderContext.__init__
File "/usr/local/lib/python3.6/site-packages/kivy/core/image/__init__.py", line 561, in __init__
self.filename = arg
File "/usr/local/lib/python3.6/site-packages/kivy/core/image/__init__.py", line 756, in _set_filename
mipmap=self._mipmap, nocache=self._nocache)
File "/usr/local/lib/python3.6/site-packages/kivy/core/image/__init__.py", line 463, in load
raise Exception('Unknown <%s> type, no loader found.' % ext)
x11 - ModuleNotFoundError: No module named 'kivy.core.window.window_x11'
File "/usr/local/lib/python3.6/site-packages/kivy/core/__init__.py", line 63, in core_select_lib
fromlist=[modulename], level=0)
[CRITICAL] App: Unable to get a Window, abort.
-
Have you downloaded the RPi version of kivy by mistake?
-
Hi saladin
[DEBUG ] Window: Ignored <egl_rpi> (import error)
[INFO ] Window: Provider: sdl2(['window_egl_rpi'] ignored)
What Juanito said.
-
I don't know how to do that. Or how to not do that.
I've been using sudo pip3.6 install kivy.
-
You might be better off downloading the source and compiling it?
-
Try this for compiling from source :
pip3 install git+https://github.com/kivy/kivy.git@master .
Are you sure that you have portmidi ? I suggest checking the loaded deps again.
Also,
try pip3 check kivy for listing requirements and check them manually
try pip3 check pysdl2, it is a requirement to use sdl2.
You might also need https://github.com/keera-studios/SDL2_gfx , which is a dep for pysdl2. pip3 checks for python3 package deps but doesn't check for required binaries on the system. You should check for binaries manually.
-
I've been using Linux as my main OS for 11 years now, and I usually give up on things once the solution is "compile from source". It seems to work about 50% of the time, and the other 50%, it's like it wants to me to write a new compiler from scratch.
So I used the pip3 install git command, and that seems to work.
If I type
pip3 check x
it says "No broken requirements found." It's the same for whatever value I put as x, even if it's a name I made up.
Installed SDL2_gfx.git -- at least, I think I did.
I downloaded the files for portmidi manually, after failing to get the svn that everyone recommends working. Spent a lot of time failing to unzip the file by various methods before I realized I was in the wrong directory. After unzipping, I needed cmake, which I installed, but I got a CMake Error, where variables are set to NOTFOUND, and it wants me to do something about it. Then I saw the python directory, and tried running setup.py, but it's written for Python 2, so I had to download and install that, but it's still giving me an error because there's no module named Pyrex.Distutils, and apparently there's no pip for Python 2. Fantasized briefly about a linux distro where kivy is installed by default. Googled it, but didn't really expect to find it. Spent some time staring blankly at the screen. Briefly considered installing Windows on a virtual machine and trying to run kivy that way. But it's been a long time since I've used Windows, and I feel like that might be even harder.
Still getting errors with kivy:
[INFO ] Logger: Record log in /home/tc/.kivy/logs/kivy_20-09-15_6.txt
[INFO ] Kivy: v2.0.0rc3, git-55d20aa, 20200914
[INFO ] Kivy: Installed at "/usr/local/lib/python3.6/site-packages/kivy/__init__.py"
[INFO ] Python: v3.6.4 (default, Mar 9 2018, 12:22:02)
[GCC 7.2.0]
[INFO ] Python: Interpreter at "/usr/local/bin/python3.6"
[INFO ] Factory: 186 symbols loaded
[DEBUG ] Cache: register <kv.lang> with limit=None, timeout=None
[DEBUG ] Cache: register <kv.image> with limit=None, timeout=60
[DEBUG ] Cache: register <kv.atlas> with limit=None, timeout=None
[INFO ] Image: Providers: img_tex, img_dds (img_sdl2, img_pil, img_ffpyplayer ignored)
[DEBUG ] Cache: register <kv.texture> with limit=1000, timeout=60
[DEBUG ] Cache: register <kv.shader> with limit=1000, timeout=3600
[DEBUG ] Text: Provider <pango> ignored by config
[INFO ] Text: Provider: sdl2(['text_pango'] ignored)
[INFO ] Window: Provider: sdl2
[INFO ] GL: Using the "OpenGL" graphics system
[INFO ] GL: Backend used <sdl2>
[INFO ] GL: OpenGL version <b'3.1 Mesa 19.2.3'>
[INFO ] GL: OpenGL vendor <b'VMware, Inc.'>
[INFO ] GL: OpenGL renderer <b'llvmpipe (LLVM 8.0, 128 bits)'>
[INFO ] GL: OpenGL parsed version: 3, 1
[INFO ] GL: Shading version <b'1.40'>
[INFO ] GL: Texture max size <8192>
[INFO ] GL: Texture max units <32>
[DEBUG ] Shader: Fragment compiled successfully
[DEBUG ] Shader: Vertex compiled successfully
[DEBUG ] Window: Ignored <x11> (import error)
[CRITICAL] Window: Unable to find any valuable Window provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
sdl2 - Exception: Unknown <png> type, no loader found.
File "/usr/local/lib/python3.6/site-packages/kivy/core/__init__.py", line 70, in core_select_lib
cls = cls()
File "/usr/local/lib/python3.6/site-packages/kivy/core/window/window_sdl2.py", line 152, in __init__
super(WindowSDL, self).__init__()
File "/usr/local/lib/python3.6/site-packages/kivy/core/window/__init__.py", line 982, in __init__
self.create_window()
File "/usr/local/lib/python3.6/site-packages/kivy/core/window/window_sdl2.py", line 312, in create_window
super(WindowSDL, self).create_window()
File "/usr/local/lib/python3.6/site-packages/kivy/core/window/__init__.py", line 1268, in create_window
self.render_context = RenderContext()
File "kivy/graphics/instructions.pyx", line 783, in kivy.graphics.instructions.RenderContext.__init__
File "/usr/local/lib/python3.6/site-packages/kivy/core/image/__init__.py", line 561, in __init__
self.filename = arg
File "/usr/local/lib/python3.6/site-packages/kivy/core/image/__init__.py", line 756, in _set_filename
mipmap=self._mipmap, nocache=self._nocache)
File "/usr/local/lib/python3.6/site-packages/kivy/core/image/__init__.py", line 463, in load
raise Exception('Unknown <%s> type, no loader found.' % ext)
x11 - ModuleNotFoundError: No module named 'kivy.core.window.window_x11'
File "/usr/local/lib/python3.6/site-packages/kivy/core/__init__.py", line 62, in core_select_lib
fromlist=[modulename], level=0)
[DEBUG ] Cache: register <textinput.label> with limit=None, timeout=60.0
[DEBUG ] Cache: register <textinput.width> with limit=None, timeout=60.0
[DEBUG ] App: Loading kv <./epic.kv>
[DEBUG ] App: kv <./epic.kv> not found
[CRITICAL] App: Unable to get a Window, abort.
-
My bad. I forgot that you are on python 2. There is pip for python 2 as "python-pip.tcz" .
Also try :
pip install pygame pysdl2 # For python2 pipand once again verify deps. Try the pip check command for pip of python2 and 3.