Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Unsupported Software
  • Search

flowblade from git not finding mlt [SOLVED]

This forum covers all Gentoo-related software not officially supported by Gentoo. Ebuilds/software posted here might harm the health and stability of your system(s), and are not supported by Gentoo developers. Bugs/errors caused by ebuilds from overlays.gentoo.org are covered by this forum, too.
Post Reply
Advanced search
12 posts • Page 1 of 1
Author
Message
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1524
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

flowblade from git not finding mlt [SOLVED]

  • Quote

Post by ExecutorElassus » Fri Sep 29, 2023 10:21 am

so, because flatpak doesn't work with apulse, and flowblade is pulseaudio-only, I've installed flowblade directly from git. This is causing difficulty starting the app, because it can't find mlt, on which it depends:

Code: Select all

 $ apulse ./flowblade 
FLOWBLADE MOVIE EDITOR 2.11-dev
-------------------------------
Launch script dir: /home/elassus/carrier6/flowblade/flowblade/flowblade-trunk
Running from filesystem...
MLT not found, exiting...
ERROR: No module named 'mlt7'
but media-libs/mlt-7.18.0 is installed, and the relevant python libraries are there:

Code: Select all

/usr/lib/python3.12/site-packages/_mlt7.so
/usr/lib/python3.12/site-packages/mlt7.py
So how do I get flowblade to find the mlt modules?

Cheers,

EE
Last edited by ExecutorElassus on Sat Sep 30, 2023 4:44 pm, edited 1 time in total.
Top
grknight
Retired Dev
Retired Dev
Posts: 2556
Joined: Fri Feb 20, 2015 9:36 pm

  • Quote

Post by grknight » Fri Sep 29, 2023 12:32 pm

ExecutorElassus wrote:

Code: Select all

 $ apulse ./flowblade
but media-libs/mlt-7.18.0 is installed, and the relevant python libraries are there:

Code: Select all

/usr/lib/python3.12/site-packages/_mlt7.so
/usr/lib/python3.12/site-packages/mlt7.py
What does python3 --version report? Your media-libs/mlt is only shown for python 3.12. I'm betting the python3 references another version.

If this is true, change the header of the flowblade script file to python3.12 instead of python3.
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1524
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Fri Sep 29, 2023 1:38 pm

'python3 --version' returns "Python 3.11.5", so your suspicion was correct.

I changed the top line of both setup.py and flowblade to '#!/usr/bin/python3.12'. Now, I get the following error:

Code: Select all

 $ apulse ./flowblade 
FLOWBLADE MOVIE EDITOR 2.11-dev
-------------------------------
Launch script dir: /home/elassus/carrier6/flowblade/flowblade/flowblade-trunk
Running from filesystem...
MLT found, version: 7.18.0
Failed to import module app.py to launch Flowblade!
ERROR: No module named 'gi'
Installation was assumed to be at: /home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/Flowblade
So, progress, I guess? How do I fix that error?

(sigh, I hate python).

Cheers,

EE
Top
Hu
Administrator
Administrator
Posts: 24385
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Fri Sep 29, 2023 2:48 pm

Python packages are installed to per-versioned directories. That error says you do not have the Python package gi installed for Python 3.12. You may not have it installed at all, or you may have it installed only for versions of Python other than 3.12. Either way, the solution is to install dev-python/pygobject with at least PYTHON_TARGETS=python3_12 (and optionally other targets, at your discretion).
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1524
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Fri Sep 29, 2023 2:57 pm

pygobject is installed, but my package.use was set only to install PYTHON_TARGETS=python3_10 python3_11, and PYTHON_SINGLE_TARGET=python3_10.

So once this 'emerge -uD world' is done, I guess I have to update that (replacing python3_10 with python3_11, and replacing python3_11 with python3_12), and then remerging world to update python support.

Or is there a faster/cleaner way to do that?

Cheers,

EE
Top
Hu
Administrator
Administrator
Posts: 24385
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Fri Sep 29, 2023 3:15 pm

That is correct. You only need to add 3.12 for pygobject + anything it depends on. You can keep 3.10 or not, as you like. You can rebuild non-relevant packages with python 3.12 now or not, also as you like.
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1524
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Fri Sep 29, 2023 6:17 pm

OK, now I have the same problem with "PIL". I really wish there were a way to find out what python package provides a given module, because a lot of them have very minimal, generic names that you can't really search for. Is it dev-python/pillow?

UPDATE: It was pillow. I got past not finding all the needed python modules, but now startup fails with this error:

Code: Select all

MLT transition frei0r.alphaout not found.
Gamma dropped for Lift Gain Gamma
default profile from prefs not found
Adding full track compositors
Traceback (most recent call last):
  File "/home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/Flowblade/app.py", line 306, in on_activate
    editorstate.project = projectdata.get_default_project()
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/Flowblade/projectdata.py", line 610, in get_default_project
    project = Project(profile)
              ^^^^^^^^^^^^^^^^
  File "/home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/Flowblade/projectdata.py", line 106, in __init__
    self.add_unnamed_sequence()
  File "/home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/Flowblade/projectdata.py", line 277, in add_unnamed_sequence
    self.add_named_sequence(name)
  File "/home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/Flowblade/projectdata.py", line 281, in add_named_sequence
    seq.create_default_tracks()
  File "/home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/Flowblade/sequence.py", line 211, in create_default_tracks
    self.add_full_track_compositors()
  File "/home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/Flowblade/sequence.py", line 715, in add_full_track_compositors
    compositor = self.create_compositor("##blend")
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/Flowblade/sequence.py", line 619, in create_compositor
    compositor.create_mlt_objects(self.profile)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'create_mlt_objects'
GPU test results {'VAAPI H.264 / .mp4': 0}
So, now some other python error, but apparently all the dependencies are there? Any idea what this is?

Cheers,

EE
Top
Hu
Administrator
Administrator
Posts: 24385
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Fri Sep 29, 2023 7:51 pm

That looks to me like a package bug. It tried to create some object, assumed the creation would never fail, then tried to use that object. When the object creation failed, that triggered an exception on use. The package should have detected the failure and given you a clear message, like "Failed to create compositor object: check <relevant conditions>". Without looking at the failed function, I cannot comment on what it needs or what is wrong.
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1524
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Fri Sep 29, 2023 8:03 pm

welp, time to post the issue to the github!
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1524
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Sat Sep 30, 2023 11:53 am

Also, the dependencies for flowblade are listed here. I just emerged frei0r-plugins, which didn't help, but is there anything else you see on that list that might create the problem I'm having?

Would the failed function be found in sequence.py? At that line number, I have this code:

Code: Select all

 # ------------------------------------------------------ compositors
    def	create_compositor(self, compositor_type):
                compositor = mlttransitions.create_compositor(compositor_type)
       	        compositor.create_mlt_objects(self.profile)
       	        return compositor
Maybe there's some dependency I'm missing? As you can see from the console output, it's not finding a bunch of MLT transitions; maybe that's the issue? How would I fix that?

UPDATE: I added support for frei0r and opencv to mlt, and that got past the error I was getting. Now I get a whole new error! Progress! Here's how it looks now:

Code: Select all

MLT service ladspa.1201 not found.
Loading transitions...
RGB Adjustment dropped for Color Adjustment
Hue dropped for Color Adjustment
Gamma dropped for Lift Gain Gamma
Adding full track compositors
restacking compositors!
Adding full track compositors DONE
G'MIC found
Player initialized with profile:  HD 1080p 30 fps
Creating midbar data for 2.10...
GPU test results {'VAAPI H.264 / .mp4': 0}
Create SDL1 consumer...
Fatal Python error: Segmentation fault

Current thread 0x00007f07c24a2740 (most recent call first):
  File "/usr/lib/python3.12/site-packages/mlt7.py", line 1088 in connect
  File "/home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/Flowblade/mltplayer.py", line 169 in connect_and_start
  File "/home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/Flowblade/app.py", line 549 in launch_player
  File "/home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/Flowblade/app.py", line 342 in on_activate
  File "/usr/lib/python3.12/site-packages/gi/overrides/Gio.py", line 42 in run
  File "/home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/Flowblade/app.py", line 201 in main
  File "/home/elassus/carrier6/flowblade/flowblade/flowblade-trunk/flowblade", line 93 in <module>

Extension modules: _mlt7, gi._gi, cairo._cairo, gi._gi_cairo, numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator, PIL._imaging, _dbus_bindings, _dbus_glib_bindings, PIL._imagingft (total: 21)
Segmentation fault
I'm guessing it's something to do with the "create SDL1 consumer," since "sdl_image" is given as one of the dependencies on Arch. I'll see if I can figure that out and report back.

UPDATE2: that didn't fix it :(

Cheers,

EE
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1524
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Sat Sep 30, 2023 2:09 pm

According to this issue report, there are problems with gentoo's MLT and SDL1 support, with people having similar issues with flowblade crashing right at this point in the startup.

So now I'm going to go search to see if there's some workaround (that issue posted an ebuild, but the portage tree also has libsdl as a compatibility layer for SDL1 apps).

It's really frustrating that so many linux developers are defaulting to just releasing flatpak apps, since Linux was supposed to be about NOT releasing monolithic, all-in-one app packages.

UPDATE: I found a workaround by copying the ebuild to my /usr/local overlay, adding an -r1 to the end, and editing it to build against SDL1 instead of SDL2. Now it starts, huzzah! I'll mark this as [SOLVED], but now I have the issue that flowblade is … not the most intuitive software to use. Simple stuff like adding a text overlay seems really difficult to do. Oh well, time to learn things!

Cheers,

EE
Top
ExecutorElassus
Veteran
Veteran
User avatar
Posts: 1524
Joined: Thu Mar 11, 2004 11:12 pm
Location: Berlin, Germany

  • Quote

Post by ExecutorElassus » Thu Nov 02, 2023 7:06 pm

UPDATE: mlt has now come out with version 7.20, and now flowblade segfaults right after initializing mlt.

Can anybody help me pin down what the issue is?

UPDATE: nevermind, it turns out that the problem is with mlt-7.20, which just added some new function that doesn't work with flowblade. Guess I'll wait for updates from upstream.

Cheers,

EE
Top
Post Reply

12 posts • Page 1 of 1

Return to “Unsupported Software”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy