[SOLVED] Openshot 2.6.1 not working in Slackware 15.0
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
On a fresh and complete install of 32-bit Slackware 15.0 with all patches, openshot 2.6.1 doesn't work. Everything required was downloaded from SlackBuilds.org, hashes and signatures were confirmed, and all compiled OK. My build list:
someuser@hp2:~$ openshot-qt
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/openshot_qt/launch.py", line 76, in <module>
from classes import info
ImportError: cannot import name 'info' from 'classes' (unknown location)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/openshot-qt", line 33, in <module>
sys.exit(load_entry_point('openshot-qt==2.6.1', 'gui_scripts', 'openshot-qt')())
File "/usr/bin/openshot-qt", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.9/importlib/metadata.py", line 86, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/usr/lib/python3.9/site-packages/openshot_qt/launch.py", line 80, in <module>
from classes import info
ImportError: cannot import name 'info' from 'classes' (unknown location)
someuser@hp2:~$
I know nothing about Python, but it seems to me that it is not looking in the right place for "info." I find it at "/usr/lib/python3.9/site-packages/openshot_qt/classes/info.py."
How did you get openshot? Compile or Appimage? Are you 32 or 64 bit? You don't say, and we need that sort of info.
Many of these graphical packages are heavy on dependencies, using Qt & python. Then nobody can compile them, so they make an AppImage. Sadly the devs often aren't very interested or good at making the appimage, which is an art in itself.
In your honour, I fired up the last appimage of openshot that I had (version 2.4.4) and ran it; and needless to say it puked also, looking for libselinux which I never had anyhow.
It seems strictly a python error. I'd google and check their site/github. If you have 64bit, I'd try the Appimage.
EDIT: You say that you grabbed from Slackbuilds. Slackbuilds are often behind, and Openshot is keen on the latest, so I'd check versions.
Last edited by business_kid; 05-24-2022 at 06:44 AM.
I don't have a physical 32bit machine but just now built all deps & openshot from SBo in a 15.0 VM and it works fine in that environment.
chris
Interesting. I installed 64-bit Slackware 15.0 on a spare machine, then downloaded openshot and all the dependencies from SBo and it did work there. I then removed all of the openshot packages from the 32-bit Slackware machine, transferred the downloaded SBo openshot sources from the working 64-bit machine, compiled and installed them on the 32-bit machine, and get the same error when trying to run it. I wonder what the difference is that allows it to work on 64-bit but not 32-bit?
What are the contents of /usr/lib/python3.9/site-packages/openshot_qt/classes/ directory? That is where my info.py exists. In my installation, /usr/lib/python3.9/site-packages/openshot_qt/ directory has:
Code:
bash-5.1# ls -l /usr/lib/python3.9/site-packages/openshot_qt/
total 76
-rw-r--r-- 1 root root 1209 Sep 5 2021 __init__.py
drwxr-xr-x 2 root root 4096 May 25 10:55 __pycache__
drwxr-xr-x 6 root root 4096 May 25 10:55 blender
drwxr-xr-x 6 root root 4096 May 25 10:55 classes
drwxr-xr-x 3 root root 4096 May 25 10:55 effects
drwxr-xr-x 5 root root 4096 May 25 10:55 emojis
drwxr-xr-x 4 root root 4096 May 25 10:55 images
drwxr-xr-x 4 root root 4096 May 25 10:55 language
-rw-r--r-- 1 root root 7264 Sep 5 2021 launch.py
drwxr-xr-x 2 root root 4096 May 25 10:55 presets
drwxr-xr-x 2 root root 4096 May 25 10:55 profiles
drwxr-xr-x 2 root root 4096 May 25 10:55 resources
drwxr-xr-x 2 root root 4096 May 25 10:55 settings
drwxr-xr-x 3 root root 4096 May 25 10:55 tests
drwxr-xr-x 4 root root 4096 May 25 10:55 timeline
drwxr-xr-x 2 root root 4096 May 25 10:55 titles
drwxr-xr-x 4 root root 4096 May 25 10:55 transitions
drwxr-xr-x 6 root root 4096 May 25 10:55 windows
Interesting. I installed 64-bit Slackware 15.0 on a spare machine, then downloaded openshot and all the dependencies from SBo and it did work there. I then removed all of the openshot packages from the 32-bit Slackware machine, transferred the downloaded SBo openshot sources from the working 64-bit machine, compiled and installed them on the 32-bit machine, and get the same error when trying to run it. I wonder what the difference is that allows it to work on 64-bit but not 32-bit?
What are the contents of /usr/lib/python3.9/site-packages/openshot_qt/classes/ directory? That is where my info.py exists. In my installation, /usr/lib/python3.9/site-packages/openshot_qt/ directory has:
Code:
bash-5.1# ls -l /usr/lib/python3.9/site-packages/openshot_qt/
total 76
-rw-r--r-- 1 root root 1209 Sep 5 2021 __init__.py
drwxr-xr-x 2 root root 4096 May 25 10:55 __pycache__
drwxr-xr-x 6 root root 4096 May 25 10:55 blender
drwxr-xr-x 6 root root 4096 May 25 10:55 classes
drwxr-xr-x 3 root root 4096 May 25 10:55 effects
drwxr-xr-x 5 root root 4096 May 25 10:55 emojis
drwxr-xr-x 4 root root 4096 May 25 10:55 images
drwxr-xr-x 4 root root 4096 May 25 10:55 language
-rw-r--r-- 1 root root 7264 Sep 5 2021 launch.py
drwxr-xr-x 2 root root 4096 May 25 10:55 presets
drwxr-xr-x 2 root root 4096 May 25 10:55 profiles
drwxr-xr-x 2 root root 4096 May 25 10:55 resources
drwxr-xr-x 2 root root 4096 May 25 10:55 settings
drwxr-xr-x 3 root root 4096 May 25 10:55 tests
drwxr-xr-x 4 root root 4096 May 25 10:55 timeline
drwxr-xr-x 2 root root 4096 May 25 10:55 titles
drwxr-xr-x 4 root root 4096 May 25 10:55 transitions
drwxr-xr-x 6 root root 4096 May 25 10:55 windows
That should import classes/info.py and display some info about your setup.
Another thing to try is to check whether you're able to import classes/info.py directly from python3 itself. You should see (assuming the import works) something like:
Code:
bash-5.1# cd /usr/lib/python3.9/site-packages/openshot_qt/
bash-5.1# python3
Python 3.9.12 (main, Mar 24 2022, 15:52:25)
[GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from classes import info
>>>
Let's see where to go after the results of those tests.
That should import classes/info.py and display some info about your setup.
Another thing to try is to check whether you're able to import classes/info.py directly from python3 itself. You should see (assuming the import works) something like:
Code:
bash-5.1# cd /usr/lib/python3.9/site-packages/openshot_qt/
bash-5.1# python3
Python 3.9.12 (main, Mar 24 2022, 15:52:25)
[GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from classes import info
>>>
Let's see where to go after the results of those tests.
chris
Your first command above starts openshot and it seems to work fine.
The second command gives the same result as your example.
Openshot is normally started with the Python script /usr/bin/openshot-qt, so the question seems to be, "why does that script work in a 64-bit installation but not in a 32-bit installation?" The scripts are identical in both installations.
Code:
someuser@hp2:~$ cat /usr/bin/openshot-qt
#!/usr/bin/python3
# EASY-INSTALL-ENTRY-SCRIPT: 'openshot-qt==2.6.1','gui_scripts','openshot-qt'
import re
import sys
# for compatibility with easy_install; see #2198
__requires__ = 'openshot-qt==2.6.1'
try:
from importlib.metadata import distribution
except ImportError:
try:
from importlib_metadata import distribution
except ImportError:
from pkg_resources import load_entry_point
def importlib_load_entry_point(spec, group, name):
dist_name, _, _ = spec.partition('==')
matches = (
entry_point
for entry_point in distribution(dist_name).entry_points
if entry_point.group == group and entry_point.name == name
)
return next(matches).load()
globals().setdefault('load_entry_point', importlib_load_entry_point)
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(load_entry_point('openshot-qt==2.6.1', 'gui_scripts', 'openshot-qt')())
someuser@hp2:~$
Since it does work here in a clean 32bit installation, the question is really "what is it about your 32bit installation ... ?". It's probably something about your environment but before delving into that, first try these two commands and check any file whose size differs:
Code:
bash-5.1# ls -l /usr/lib/python3.9/site-packages/openshot_qt-2.6.1-py3.9.egg-info
total 156
-rw-r--r-- 1 root root 5070 May 25 10:54 PKG-INFO
-rw-r--r-- 1 root root 135870 May 25 10:54 SOURCES.txt
-rw-r--r-- 1 root root 1 May 25 10:54 dependency_links.txt
-rw-r--r-- 1 root root 53 May 25 10:54 entry_points.txt
-rw-r--r-- 1 root root 12 May 25 10:54 top_level.txt
bash-5.1# ls -l /usr/lib/python3.9/site-packages/openshot.py
-rw-r--r-- 1 root root 272076 May 25 10:51 /usr/lib/python3.9/site-packages/openshot.py
If they check out OK, then I'd start looking for differences in environments by comparing the outputs of running env command on both machines. It's a tedious job comparing but to make it a bit easier, pipe the outputs through sort i.e.
Code:
env | sort
Actually, because that is so tedious, you could first try creating a new user on the 32bit machine, then login as that user and try running openshot. If that works, then the problem would appear to be the environment of your someuser account.
Since it does work here in a clean 32bit installation, the question is really "what is it about your 32bit installation ... ?". It's probably something about your environment but before delving into that, first try these two commands and check any file whose size differs:
Code:
bash-5.1# ls -l /usr/lib/python3.9/site-packages/openshot_qt-2.6.1-py3.9.egg-info
total 156
-rw-r--r-- 1 root root 5070 May 25 10:54 PKG-INFO
-rw-r--r-- 1 root root 135870 May 25 10:54 SOURCES.txt
-rw-r--r-- 1 root root 1 May 25 10:54 dependency_links.txt
-rw-r--r-- 1 root root 53 May 25 10:54 entry_points.txt
-rw-r--r-- 1 root root 12 May 25 10:54 top_level.txt
bash-5.1# ls -l /usr/lib/python3.9/site-packages/openshot.py
-rw-r--r-- 1 root root 272076 May 25 10:51 /usr/lib/python3.9/site-packages/openshot.py
If they check out OK, then I'd start looking for differences in environments by comparing the outputs of running env command on both machines. It's a tedious job comparing but to make it a bit easier, pipe the outputs through sort i.e.
Code:
env | sort
Actually, because that is so tedious, you could first try creating a new user on the 32bit machine, then login as that user and try running openshot. If that works, then the problem would appear to be the environment of your someuser account.
chris
The two commands give the same result as above:
Code:
bash-5.1$ ls -l /usr/lib/python3.9/site-packages/openshot_qt-2.6.1-py3.9.egg-info/
total 156
-rw-r--r-- 1 root root 5070 May 24 18:16 PKG-INFO
-rw-r--r-- 1 root root 135870 May 24 18:16 SOURCES.txt
-rw-r--r-- 1 root root 1 May 24 18:16 dependency_links.txt
-rw-r--r-- 1 root root 53 May 24 18:16 entry_points.txt
-rw-r--r-- 1 root root 12 May 24 18:16 top_level.txt
bash-5.1$ ls -l /usr/lib/python3.9/site-packages/openshot.py
-rw-r--r-- 1 root root 272076 May 24 18:11 /usr/lib/python3.9/site-packages/openshot.py
bash-5.1$
I created fresh users on both systems, user32 and user64, redirected an env|sort to files on each system, then did a diff on the files. The environments seem pretty similar...
Using the new users, the Python script "openshot-qt" still results in the original error on the 32 bit installation, but works fine on the 64 bit installation. The command "python3 /usr/lib/python3.9/site-packages/openshot_qt/launch.py" still successfully runs openshot on the 32 bit installation. I suppose I could just use that, but I would like to know why "openshot-qt" doesn't work.
I'm out of new ideas about it. The environments look similar enough. I see your 32bit system has LibreOffice and vamp installed, which the 64bit system doesn't have. However it's unlikely they would be the cause of the problem.
One last thing to try - if you have time, could you removepkg your existing installation and download and install this openshot package? It's the one which was built and works in a clean VM here. If it works for you then it would point to something weird in your build environment. If it doesn't work for you then it points to something about your environment generally.
I'm out of new ideas about it. The environments look similar enough. I see your 32bit system has LibreOffice and vamp installed, which the 64bit system doesn't have. However it's unlikely they would be the cause of the problem.
One last thing to try - if you have time, could you removepkg your existing installation and download and install this openshot package? It's the one which was built and works in a clean VM here. If it works for you then it would point to something weird in your build environment. If it doesn't work for you then it points to something about your environment generally.
chris
I removed my openshot package and installed the one I downloaded from you.
The result was the same error I started with:
Code:
bash-5.1$ openshot-qt
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/openshot_qt/launch.py", line 76, in <module>
from classes import info
ImportError: cannot import name 'info' from 'classes' (unknown location)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/openshot-qt", line 33, in <module>
sys.exit(load_entry_point('openshot-qt==2.6.1', 'gui_scripts', 'openshot-qt')())
File "/usr/bin/openshot-qt", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.9/importlib/metadata.py", line 86, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/usr/lib/python3.9/site-packages/openshot_qt/launch.py", line 80, in <module>
from classes import info
ImportError: cannot import name 'info' from 'classes' (unknown location)
bash-5.1$
In that case there's something whacky about your machine environment. Unfortunately there's nothing obvious to suggest what that might be.
What to do now? Depending on how important the existing installation is, one option would be to blow it away and create a new one. In the new installation, before doing any customization, build/install openshot & deps and, assuming it then works, add other software you had in the previous installation. As you install each software, check that openshot still works. Eventually it will stop working, thereby identifying what software (or customization) has caused the problem. At best/worst, everything will just keep working and we'll never know what the problem was - but at least everything now works.
If you happen to have a spare partition on your disk, another option would be to use that spare partition to do the above.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.