olive
olive copied to clipboard
[BUILD] Revise list of libraries shipped in Linux AppImage
Platform Linux
Summary Some shared libraries are included that should apparently not be bundled, whereas some others are missing (in particular Qt's dependencies, like freetype and harfbuzz).
Additional Information / Output
There is a disagreement about what should be included and what should be excluded between linuxdeployqt / appimage.org and information shared by @rodlie (see https://github.com/olive-editor/olive/issues/1483#issuecomment-779027470 and subsequent comments). It's also unclear whether ASWF's Qt is built correctly with all dependencies or if the cleaned up CI container lacks some of the packages that were installed in the aswf-docker base image.
Dependency tree of main executable according to ldd
ldd app/olive-editor
Library | Path |
---|---|
linux-vdso.so.1 | |
libQt5Multimedia.so.5 | /usr/local/lib/libQt5Multimedia.so.5 |
libQt5OpenGL.so.5 | /usr/local/lib/libQt5OpenGL.so.5 |
libQt5Svg.so.5 | /usr/local/lib/libQt5Svg.so.5 |
libQt5Concurrent.so.5 | /usr/local/lib/libQt5Concurrent.so.5 |
libGL.so.1 | /lib64/libGL.so.1 |
libavutil.so.56 | /usr/local/lib/libavutil.so.56 |
libavcodec.so.58 | /usr/local/lib/libavcodec.so.58 |
libavformat.so.58 | /usr/local/lib/libavformat.so.58 |
libavfilter.so.7 | /usr/local/lib/libavfilter.so.7 |
libswscale.so.5 | /usr/local/lib/libswscale.so.5 |
libswresample.so.3 | /usr/local/lib/libswresample.so.3 |
libOpenColorIO.so.2.0 | /usr/local/lib/libOpenColorIO.so.2.0 |
libOpenImageIO.so.2.2 | /usr/local/lib64/libOpenImageIO.so.2.2 |
libOpenImageIO_Util.so.2.2 | /usr/local/lib64/libOpenImageIO_Util.so.2.2 |
libIlmImf-2_5.so.25 | /usr/local/lib64/libIlmImf-2_5.so.25 |
libImath-2_5.so.25 | /usr/local/lib64/libImath-2_5.so.25 |
libIex-2_5.so.25 | /usr/local/lib64/libIex-2_5.so.25 |
libHalf-2_5.so.25 | /usr/local/lib64/libHalf-2_5.so.25 |
libIlmThread-2_5.so.25 | /usr/local/lib64/libIlmThread-2_5.so.25 |
libpthread.so.0 | /lib64/libpthread.so.0 |
libz.so.1 | /lib64/libz.so.1 |
libdl.so.2 | /lib64/libdl.so.2 |
libQt5Network.so.5 | /usr/local/lib/libQt5Network.so.5 |
libQt5Widgets.so.5 | /usr/local/lib/libQt5Widgets.so.5 |
libQt5Gui.so.5 | /usr/local/lib/libQt5Gui.so.5 |
libQt5Core.so.5 | /usr/local/lib/libQt5Core.so.5 |
libstdc++.so.6 | /lib64/libstdc++.so.6 |
libm.so.6 | /lib64/libm.so.6 |
libgcc_s.so.1 | /lib64/libgcc_s.so.1 |
libc.so.6 | /lib64/libc.so.6 |
/lib64/ld-linux-x86-64.so.2 | |
libpulse-mainloop-glib.so.0 | /lib64/libpulse-mainloop-glib.so.0 |
libpulse.so.0 | /lib64/libpulse.so.0 |
libglib-2.0.so.0 | /lib64/libglib-2.0.so.0 |
libGLX.so.0 | /lib64/libGLX.so.0 |
libX11.so.6 | /lib64/libX11.so.6 |
libXext.so.6 | /lib64/libXext.so.6 |
libGLdispatch.so.0 | /lib64/libGLdispatch.so.0 |
libvpx.so.6 | /usr/local/lib/libvpx.so.6 |
liblzma.so.5 | /lib64/liblzma.so.5 |
libaom.so.2 | /usr/local/lib64/libaom.so.2 |
libmp3lame.so.0 | /usr/local/lib/libmp3lame.so.0 |
libopenjp2.so.7 | /usr/local/lib/libopenjp2.so.7 |
libopus.so.0 | /usr/local/lib/libopus.so.0 |
libtheoraenc.so.1 | /usr/local/lib/libtheoraenc.so.1 |
libtheoradec.so.1 | /usr/local/lib/libtheoradec.so.1 |
libvorbis.so.0 | /usr/local/lib/libvorbis.so.0 |
libvorbisenc.so.2 | /usr/local/lib/libvorbisenc.so.2 |
libwebp.so.7 | /usr/local/lib/libwebp.so.7 |
libx264.so.161 | /usr/local/lib/libx264.so.161 |
libx265.so.192 | /usr/local/lib/libx265.so.192 |
libxvidcore.so.4 | /usr/local/lib/libxvidcore.so.4 |
libbz2.so.1 | /lib64/libbz2.so.1 |
libpostproc.so.55 | /usr/local/lib/libpostproc.so.55 |
libfreetype.so.6 | /lib64/libfreetype.so.6 |
libgif.so.4 | /lib64/libgif.so.4 |
libpng15.so.15 | /lib64/libpng15.so.15 |
libjpeg.so.62 | /lib64/libjpeg.so.62 |
libraw_r.so.19 | /lib64/libraw_r.so.19 |
libtiff.so.5 | /lib64/libtiff.so.5 |
libboost_filesystem.so.1.73.0 | /usr/local/lib/libboost_filesystem.so.1.73.0 |
libboost_system.so.1.73.0 | /usr/local/lib/libboost_system.so.1.73.0 |
libboost_thread.so.1.73.0 | /usr/local/lib/libboost_thread.so.1.73.0 |
libboost_chrono.so.1.73.0 | /usr/local/lib/libboost_chrono.so.1.73.0 |
libboost_date_time.so.1.73.0 | /usr/local/lib/libboost_date_time.so.1.73.0 |
libboost_atomic.so.1.73.0 | /usr/local/lib/libboost_atomic.so.1.73.0 |
librt.so.1 | /lib64/librt.so.1 |
libIexMath-2_5.so.25 | /usr/local/lib64/libIexMath-2_5.so.25 |
libgssapi_krb5.so.2 | /lib64/libgssapi_krb5.so.2 |
libicui18n.so.50 | /lib64/libicui18n.so.50 |
libicuuc.so.50 | /lib64/libicuuc.so.50 |
libicudata.so.50 | /lib64/libicudata.so.50 |
libgthread-2.0.so.0 | /lib64/libgthread-2.0.so.0 |
libpulsecommon-10.0.so | /usr/lib64/pulseaudio/libpulsecommon-10.0.so |
libcap.so.2 | /lib64/libcap.so.2 |
libdbus-1.so.3 | /lib64/libdbus-1.so.3 |
libpcre.so.1 | /lib64/libpcre.so.1 |
libxcb.so.1 | /lib64/libxcb.so.1 |
libogg.so.0 | /usr/local/lib/libogg.so.0 |
libnuma.so.1 | /lib64/libnuma.so.1 |
libSM.so.6 | /lib64/libSM.so.6 |
libICE.so.6 | /lib64/libICE.so.6 |
libjasper.so.1 | /lib64/libjasper.so.1 |
liblcms2.so.2 | /lib64/liblcms2.so.2 |
libgomp.so.1 | /lib64/libgomp.so.1 |
libjbig.so.2.0 | /lib64/libjbig.so.2.0 |
libkrb5.so.3 | /lib64/libkrb5.so.3 |
libk5crypto.so.3 | /lib64/libk5crypto.so.3 |
libcom_err.so.2 | /lib64/libcom_err.so.2 |
libkrb5support.so.0 | /lib64/libkrb5support.so.0 |
libkeyutils.so.1 | /lib64/libkeyutils.so.1 |
libresolv.so.2 | /lib64/libresolv.so.2 |
libX11-xcb.so.1 | /lib64/libX11-xcb.so.1 |
libXtst.so.6 | /lib64/libXtst.so.6 |
libsystemd.so.0 | /lib64/libsystemd.so.0 |
libwrap.so.0 | /lib64/libwrap.so.0 |
libsndfile.so.1 | /lib64/libsndfile.so.1 |
libasyncns.so.0 | /lib64/libasyncns.so.0 |
libattr.so.1 | /lib64/libattr.so.1 |
libXau.so.6 | /lib64/libXau.so.6 |
libuuid.so.1 | /lib64/libuuid.so.1 |
libselinux.so.1 | /lib64/libselinux.so.1 |
libXi.so.6 | /lib64/libXi.so.6 |
liblz4.so.1 | /lib64/liblz4.so.1 |
libgcrypt.so.11 | /lib64/libgcrypt.so.11 |
libgpg-error.so.0 | /lib64/libgpg-error.so.0 |
libdw.so.1 | /lib64/libdw.so.1 |
libnsl.so.1 | /lib64/libnsl.so.1 |
libgsm.so.1 | /lib64/libgsm.so.1 |
libFLAC.so.8 | /lib64/libFLAC.so.8 |
libelf.so.1 | /lib64/libelf.so.1 |
ldd --unused app/olive-editor
Unused direct dependencies:
/usr/local/lib/libQt5OpenGL.so.5
/usr/local/lib/libQt5Svg.so.5
/usr/local/lib/libQt5Concurrent.so.5
/lib64/libGL.so.1
/usr/local/lib/libavutil.so.56
/usr/local/lib/libavcodec.so.58
/usr/local/lib/libavformat.so.58
/usr/local/lib/libavfilter.so.7
/usr/local/lib/libswscale.so.5
/usr/local/lib/libswresample.so.3
/usr/local/lib64/libOpenImageIO.so.2.2
/usr/local/lib64/libOpenImageIO_Util.so.2.2
/usr/local/lib64/libImath-2_5.so.25
/usr/local/lib64/libHalf-2_5.so.25
/usr/local/lib64/libIlmThread-2_5.so.25
/lib64/libz.so.1
/lib64/libdl.so.2
/usr/local/lib/libQt5Network.so.5
/lib64/libm.so.6
/lib64/libgcc_s.so.1
/lib64/ld-linux-x86-64.so.2
Currently bundled libraries in AppImage
ls squashfs-root/usr/lib/ -1
- libFLAC.so.8
- libHalf-2_5.so.25
- libIex-2_5.so.25
- libIexMath-2_5.so.25
- libIlmImf-2_5.so.25
- libIlmThread-2_5.so.25
- libImath-2_5.so.25
- libOpenColorIO.so.2.0
- libOpenImageIO.so.2.2
- libOpenImageIO_Util.so.2.2
- libQt5Concurrent.so.5
- libQt5Core.so.5
- libQt5DBus.so.5
- libQt5Gui.so.5
- libQt5Multimedia.so.5
- libQt5MultimediaGstTools.so.5
- libQt5MultimediaWidgets.so.5
- libQt5Network.so.5
- libQt5OpenGL.so.5
- libQt5Pdf.so.5
- libQt5Qml.so.5
- libQt5QmlModels.so.5
- libQt5Quick.so.5
- libQt5Svg.so.5
- libQt5VirtualKeyboard.so.5
- libQt5Widgets.so.5
- libQt5XcbQpa.so.5
- libX11-xcb.so.1
- libXau.so.6
- libXext.so.6
- libXi.so.6
- libXtst.so.6
- libaom.so.2
- libasyncns.so.0
- libattr.so.1
- libavcodec.so.58
- libavfilter.so.7
- libavformat.so.58
- libavutil.so.56
- libboost_atomic.so.1.73.0
- libboost_chrono.so.1.73.0
- libboost_date_time.so.1.73.0
- libboost_filesystem.so.1.73.0
- libboost_system.so.1.73.0
- libboost_thread.so.1.73.0
- libbz2.so.1
- libcap.so.2
- libdbus-1.so.3
- libdw.so.1
- libelf.so.1
- libffi.so.6
- libgcrypt.so.11
- libgif.so.4
- libgmodule-2.0.so.0
- libgomp.so.1
- libgsm.so.1
- libgssapi_krb5.so.2
- libgstallocators-1.0.so.0
- libgstapp-1.0.so.0
- libgstaudio-1.0.so.0
- libgstbase-1.0.so.0
- libgstpbutils-1.0.so.0
- libgstphotography-1.0.so.0
- libgstreamer-1.0.so.0
- libgsttag-1.0.so.0
- libgstvideo-1.0.so.0
- libgthread-2.0.so.0
- libicudata.so.50
- libicui18n.so.50
- libicuuc.so.50
- libjasper.so.1
- libjbig.so.2.0
- libjpeg.so.62
- libk5crypto.so.3
- libkeyutils.so.1
- libkrb5.so.3
- libkrb5support.so.0
- liblcms2.so.2
- liblz4.so.1
- liblzma.so.5
- libmng.so.1
- libmp3lame.so.0
- libnsl.so.1
- libnuma.so.1
- libogg.so.0
- libopenjp2.so.7
- libopus.so.0
- liborc-0.4.so.0
- libpcre.so.1
- libpng15.so.15
- libpostproc.so.55
- libpulse-mainloop-glib.so.0
- libpulse.so.0
- libpulsecommon-10.0.so
- libraw_r.so.19
- libselinux.so.1
- libsndfile.so.1
- libswresample.so.3
- libswscale.so.5
- libsystemd.so.0
- libtheoradec.so.1
- libtheoraenc.so.1
- libtiff.so.5
- libvorbis.so.0
- libvorbisenc.so.2
- libvpx.so.6
- libwebp.so.7
- libwrap.so.0
- libx264.so.161
- libx265.so.192
- libxcb-glx.so.0
- libxcb-icccm.so.4
- libxcb-image.so.0
- libxcb-keysyms.so.1
- libxcb-randr.so.0
- libxcb-render-util.so.0
- libxcb-render.so.0
- libxcb-shape.so.0
- libxcb-shm.so.0
- libxcb-sync.so.1
- libxcb-util.so.1
- libxcb-xfixes.so.0
- libxcb-xinerama.so.0
- libxcb-xkb.so.1
- libxkbcommon-x11.so.0
- libxkbcommon.so.0
- libxvidcore.so.4
Library descriptions
Name | Description |
---|---|
linux-vdso | The "vDSO" (virtual dynamic shared object) is a small shared library that the kernel automatically maps into the address space of all user-space applications. man7 |
libQt5Multimedia | provides a rich set of … C++ classes to handle multimedia content qt |
libQt5OpenGL | (Deprecated, use Qt GUI instead) provides an OpenGL widget class that can be used just like any other Qt widget, except that it opens an OpenGL display buffer where you can use the OpenGL API to render the contents. qt |
libQt5Svg | classes for rendering and displaying SVG drawings in widgets and on other paint devices. qt |
libQt5Concurrent | high-level APIs that make it possible to write multi-threaded programs without using low-level threading primitives qt |
libQt5Network | APIs for programming applications that use TCP/IP. qt |
libQt5Widgets | set of UI elements to create classic desktop-style user interfaces. qt |
libQt5Gui | classes for windowing system integration, event handling, OpenGL and OpenGL ES integration, 2D graphics, basic imaging, fonts and text. qt |
libQt5Core | mechanism for seamless object communication called signals and slots, object properties/trees/ownership, dynamic cast that works across library boundaries. qt |
libGL | libGL implements the GLX (OpenGL Extension to the X Window System) interface as well as the main OpenGL API entrypoints. freedesktop |
libavutil | utility library to aid portable multimedia programming (string functions, number generators, crypto etc.). Not needed by libavcodec and libavformat. ffmpeg |
libavcodec | generic encoding/decoding framework and contains multiple decoders and encoders for audio, video and subtitle streams, and several bitstream filters. ffmpeg |
libavformat | generic framework for multiplexing and demultiplexing (muxing and demuxing) audio, video and subtitle streams. ffmpeg |
libavfilter | generic audio/video filtering framework containing several filters, sources and sinks. ffmpeg |
libswscale | highly optimized image scaling and colorspace and pixel format conversion operations. ffmpeg |
libswresample | performs highly optimized audio resampling, rematrixing and sample format conversion operations. ffmpeg |
libOpenColorIO | A complete color management solution geared towards motion picture production with an emphasis on visual effects and computer animation. opencolorio |
libOpenImageIO | Reading, writing, and processing images in a wide variety of file formats, using a format-agnostic API, aimed at VFX applications. openimageio |
libOpenImageIO_Util | argument parser, filesystem handling, threading etc., linked against Imath, Ilmbase |
libIlmImf | a library that reads and writes OpenEXR images. openexr |
libImath | a C++ library of 2D and 3D vector, matrix, and math operations for computer graphics. imath (got split out of OpenEXR) |
libIex | an exception-handling library. ilmbase / openexr |
libIexMath | |
libHalf | 16-bit "half" floating-point type imath (got split out of OpenEXR) |
libIlmThread | a thread abstraction library for use with OpenEXR and other software packages. ilmbase / openexr |
libpthread | |
libz | free, general-purpose, lossless data-compression library for use on virtually any computer hardware and operating system.zlib |
libdl | Historically, functions in libdl provided for dynamic linking support. This functionality now resides in libc. oracle |
libstdc++ | |
libm | Under POSIX systems like Linux and BSD, the mathematical functions (as declared in <math.h> ) are bundled separately in the mathematical library libm. There are various implementations (GNU, musl, Red Hat, ...). wikipedia |
libgcc_s | |
libc | |
ld-linux | The programs ld.so and ld-linux.so* find and load the shared libraries needed by a program, prepare the program to run, and then run it. man |
libpulse-mainloop-glib | |
libpulse | |
libglib | |
libGLX | |
libX11 | |
libXext | |
libGLdispatch | |
libvpx | VP8/VP9 codec SDK webmproject |
liblzma | XZ Utils(?) lossless data compressor. wikipedia |
libaom | Alliance for Open Media AV1 encoder and decoder. google source |
libmp3lame | |
libopenjp2 | open-source JPEG 2000 codec written in C language. OpenJPEG |
libopus | Opus audio codec opus-codec |
libtheoraenc | video encoder. theora |
libtheoradec | video decoder. theora |
libvorbis | audio decoder(?). xiph |
libvorbisenc | audio encoder. xiph |
libwebp | modern image format that provides superior lossless and lossy compression for images on the web. google devs |
libx264 | encoding video streams into the H.264/MPEG-4 AVC compression format. videoland |
libx265 | H.265 / HEVC video encoder application library, designed to encode video or images into an H.265 / HEVC encoded bitstream. x265 |
libxvidcore | video decoder and encoder library aimed at providing the best compression efficiency and picture quality possible. xvid |
libbz2 | |
libpostproc | |
libfreetype | |
libgif | |
libpng | |
libjpeg | |
libraw_r | |
libtiff | |
libboost_filesystem | The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories. boost |
libboost_system | Operating system support, including the diagnostics support that will be part of the C++0x standard library. boost |
libboost_thread | Portable C++ multi-threading. C++03, C++11, C++14, C++17. boost |
libboost_chrono | Useful time utilities. C++11. boost |
libboost_date_time | A set of date-time libraries based on generic programming concepts. boost |
libboost_atomic | C++11-style atomic<>. boost |
librt | |
libgssapi_krb5 | |
libicui18n | |
libicuuc | |
libicudata | |
libgthread | |
libpulsecommon | |
libcap | |
libdbus | |
libpcre | |
libxcb | |
libogg | |
libnuma | |
libSM | |
libICE | |
libjasper | |
liblcms2 | |
libgomp | |
libjbig | |
libkrb5 | |
libk5crypto | |
libcom_err | |
libkrb5support | |
libkeyutils | |
libresolv | |
libX11-xcb | |
libXtst | |
libsystemd | |
libwrap | |
libsndfile | |
libasyncns | |
libattr | |
libXau | |
libuuid | |
libselinux | |
libXi | |
liblz4 | |
libgcrypt | |
libgpg-error | |
libdw | |
libnsl | |
libgsm | |
libFLAC | |
libelf |
Locally updated build image currently fails with:
WARNING: Plugin "/usr/local/plugins/platformthemes/libqgtk2.so" not found, skipping
WARNING: Plugin "/usr/local/plugins/styles/libqgtk2style.so" not found, skipping
ERROR: ldd outputLine: "libxcb-icccm.so.4 => not found"
ERROR: ldd outputLine: "libxcb-image.so.0 => not found"
ERROR: ldd outputLine: "libxcb-keysyms.so.1 => not found"
ERROR: for binary: "/usr/local/plugins/platforms/libqxcb.so"
ERROR: Please ensure that all libraries can be found by ldd. Aborting.
The image seems to be missing the following CentOS packages:
- xcb-util-image
- xcb-util-image-devel
- xcb-util-wm
- xcb-util-wm-devel
- xcb-util-keysyms
- xcb-util-keysyms-devel
- xcb-util-renderutil
- xcb-util-renderutil-devel
olive editor 0.2 appimage is currently unusable on ubuntu 20.04. When opening a project it immediately crashes saying "symbol lookup error: /tmp/.mount_olive-xB8ySC/usr/plugins/platforms/../../lib/libQt5XcbQpa.so.5: undefined symbol: _ZdlPvm, version Qt_5". Apparently this is an issue with the appimage libraries, so reporting here.
Issue is nasty because it happens when opening projects. So you may try olive, work on something for one hour save it and find yourself in the impossibility of opening it back to continue working on it.
If running on ubuntu LTS is deemed important, please consider rising priority.
Please, for the love of the god!!! Add "libsvtav1" support out of the box! Trying to make it work with Kdenlive and Shotcut has been a Hell and I have not succeeded until today...