Bug 485861 - AppImage linked and requires libOpenGL as of 24.02
Summary: AppImage linked and requires libOpenGL as of 24.02
Status: REPORTED
Alias: None
Product: kdenlive
Classification: Applications
Component: Setup & Installation (other bugs)
Version First Reported In: 24.02.0
Platform: Appimage Linux
: NOR normal
Target Milestone: ---
Assignee: Jean-Baptiste Mardelle
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-04-20 19:11 UTC by kirkkis
Modified: 2024-04-20 19:11 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kirkkis 2024-04-20 19:11:32 UTC
SUMMARY
As of version 24, the kdenlive binary within AppImage seems to be linked with new libraries which were not included in the version 23. This causes that launching the AppImage will fail to start as libOpenGL is missing as it is not installed by default on all systems. This is most likely caused by the bump from Qt5 to Qt6, possibly commit https://invent.kde.org/multimedia/kdenlive/-/commit/3c104cdee6abde311140187ad3f07e31b555abb6. As far as I've read from related discussions (see below), libGL and others are just wrappers for libOpenGL and thus this shouldn't be linked in the first place.

For example:

kdenlive-23.08.5-x86_64.AppImage
        libGL.so.1 => /usr/lib/libGL.so.1 (0x00007fd9a9879000)
        libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007fd9a6348000)
        libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007fd9a89ce000)

kdenlive-24.02.0_A-x86_64.AppImage
        libOpenGL.so.0 => /usr/lib/libOpenGL.so.0 (0x00007f0c11632000)
        libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007f0c11600000)
        libQt6OpenGL.so.6 => /tmp/.mount_kdenlimN5pKY/usr/bin/./../lib/libQt6OpenGL.so.6 (0x00007f0c1054a000)
        libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007f0c0b10f000)
        libEGL.so.1 => /usr/lib/libEGL.so.1 (0x00007f0c0ae9c000)

As far as I've read, libOpenGL is system dependent and shouldn't be bundled in, but we also link to it in the new Qt6 build. I'm not too familiar with the build process, but is there a way to not link it?

See related discussions:
https://github.com/probonopd/linuxdeployqt/issues/486
https://github.com/linuxdeploy/linuxdeploy/issues/152
https://github.com/AppImageCommunity/pkg2appimage/blob/master/excludelist#L18


STEPS TO REPRODUCE
1. Launch 24.02.0 AppImage on any Linux system without libopengl0 installed.
2. Fails to launch.

WORKAROUND:
Install libopengl0 on the system, but as AppImage is advertised as "run anywhere standalone application", it is not the ideal solution.