mltframework / shotcut

cross-platform (Qt), open-source (GPLv3) video editor
https://www.shotcut.org
GNU General Public License v3.0
10.84k stars 1.12k forks source link

Version 23.12.15 Flatpak not starting on Ubuntu 22.04 (Pop!_OS) #1502

Closed PanderMusubi closed 1 month ago

PanderMusubi commented 9 months ago

When starting shotcut from its application launcher, nothing happens. From the command line, it exits with error

libDeckLinkAPI.so: cannot open shared object file: No such file or directory

and error code 139. This is the full output:

https://pastebin.com/Kgb9pEKv

Reported for flatpak

Version 23.12.15 not starting on Ubuntu 22.04 (Pop!_OS)

See also https://forum.shotcut.org/t/crash-in-ubuntu-missing-decklink-lib/40292

Appimage shotcut-linux-x86_64-231215.AppImage and shotcut-linux-x86_64-230614.AppImage do work properly.

ddennedy commented 9 months ago

That message is not an error and not the problem. I maintain the flatpak on Pop_OS 22.04 system, where - as a counterpoint - it works fine for me without any special workaround. Sorry, but i need some help from someone who reproduces it to debug. One can search how to debug a flatpak app, run in gdb, and get a backtrack when it crashes.

PanderMusubi commented 9 months ago

Does this help? Or do you need more info from gdb after the crash? I have installed:

$ flatpak list --app --columns=application,runtime|grep shot
org.shotcut.Shotcut org.kde.Platform/x86_64/6.5

Installing the SDK:

$ flatpak install org.kde.Sdk

Running in gdb: https://pastebin.com/MFPa1JwS

ddennedy commented 9 months ago

At the gdb command line, after crash, enter bt followed by Enter.

PanderMusubi commented 9 months ago
(gdb) bt
#0  0x00007ffff5c00737 in  () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#1  0x00007ffff5c03c99 in  () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#2  0x00007ffff5c0405a in  () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#3  0x00007ffff5c0467d in  () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#4  0x00007ffff5bf62df in  () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#5  0x00007ffff5c05947 in  () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#6  0x00007ffff5c0cca3 in  () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#7  0x00007ffff5b20675 in QQmlDataBlob::tryDone() () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#8  0x00007ffff5c1f188 in QQmlTypeLoader::setData(QQmlRefPointer<QQmlDataBlob> const&, QQmlDataBlob::SourceCodeData const&) () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#9  0x00007ffff5c1f52b in QQmlTypeLoader::setData(QQmlRefPointer<QQmlDataBlob> const&, QString const&)
    () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#10 0x00007ffff5c21402 in QQmlTypeLoader::loadThread(QQmlRefPointer<QQmlDataBlob> const&) ()
    at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#11 0x00007ffff5c2176b in QQmlTypeLoader::load(QQmlDataBlob*, QQmlTypeLoader::Mode) ()
    at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#12 0x00007ffff5c21e60 in QQmlTypeLoader::getType(QUrl const&, QQmlTypeLoader::Mode) ()
    at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#13 0x00007ffff5c0b389 in  () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#14 0x00007ffff5c0f33d in  () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#15 0x00007ffff5c1f28b in QQmlTypeLoader::setData(QQmlRefPointer<QQmlDataBlob> const&, QQmlDataBlob::SourceCodeData const&) () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#16 0x00007ffff5c1f52b in QQmlTypeLoader::setData(QQmlRefPointer<QQmlDataBlob> const&, QString const&)
    () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#17 0x00007ffff5c21402 in QQmlTypeLoader::loadThread(QQmlRefPointer<QQmlDataBlob> const&) ()
    at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#18 0x00007ffff5c2ec8c in  () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#19 0x00007ffff5ae1148 in  () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#20 0x00007ffff5ae1b0d in  () at /usr/lib/x86_64-linux-gnu/libQt6Qml.so.6
#21 0x00007ffff7199a78 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6
#22 0x00007ffff5151ce8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#23 0x00007ffff5155397 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
    at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#24 0x00007ffff53fc65f in  () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#25 0x00007ffff4b20d71 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007ffff4b77028 in g_main_context_iterate.constprop ()
    at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007ffff4b1e4a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007ffff53fbeff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#29 0x00007ffff515e1bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#30 0x00007ffff527aede in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#31 0x00007ffff52d56ca in  () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#32 0x00007ffff488f25a in start_thread () at /usr/lib/x86_64-linux-gnu/libc.so.6
#33 0x00007ffff4917fc4 in clone () at /usr/lib/x86_64-linux-gnu/libc.so.6
ddennedy commented 9 months ago

That backtrace just tells me there is something wrong with Qt QML in Flatpak on your system. Maybe if you are running in a Wayland session that is a cause, but I tested that too, and the backtrace does not resemble Wayland problems I have already seen outside of Flatpak. I am out of ideas.

PanderMusubi commented 9 months ago
$ flatpak run --command=sh --devel  org.shotcut.Shotcut
[📦 org.shotcut.Shotcut ~]$ echo $XDG_SESSION_TYPE
x11
PanderMusubi commented 9 months ago

Also cannot find libDeckLinkAPI.so anywhere on my system. My Ubuntu system has libqt5qml5:amd64 version 5.15.3+dfsg-1.

Should that shared library be available, should it be build by shotcut, is there a dependency that should not be there?

ddennedy commented 9 months ago

The Decklink library is optionally loaded at runtime. It is installed with the proprietary drivers. Last time I will say that is not the problem. The message simply means the optional library was not found. If you had looked at the log of the other working builds you would see that message there as well. Do a web search on decklink if you want to learn more.

Your system Qt 5 libraries are not used.

hifron commented 8 months ago

I have with snap package QT6 version conflict mismatch but only on minor version... Tested also on tar.gz as stated that some libs are required also on snap, but only mlt-7sox missing although there is on tar.gz which should be same(=Here is a page) as on snap version...

hifron commented 7 months ago

If related with missing libDeckLinkAPI.so there is forum thread but that is not solution for me.

ddennedy commented 1 month ago

Flatpak is using Qt 6.7 now; so this is no longer relevant and has expired.