Visitar URL original
GStreamer plugin fails with latest release (2025-02-13) · Issue #314 · linuxdeploy/linuxdeploy · GitHub
Skip to content

GStreamer plugin fails with latest release (2025-02-13) #314

Open

Description

@CJYate

Using the 2025-02-13 build of linuxdeploy, I'm unable to install the gstreamer plugin.

linuxdeploy-x86_64-Alpha-2025-02-13.AppImage --appdir squashfs-root --plugin gstreamer -d ./MyApp.desktop --icon-file MyApp.png

As far as I can determine, the location of the gstreamer plugin file doesn't make any difference.

Snipped output:

(snip)
-- Running input plugin: gstreamer -- 
ERROR: Could not find plugin: gstreamer 

--------

(snipped Gstreamer output:)

...
[gstreamer/stdout]
[gstreamer/stdout] -- Copying files into AppDir --
[gstreamer/stdout]
[gstreamer/stdout] -- Deploying files into AppDir root directory --
[gstreamer/stdout] WARNING: No desktop file specified, using first desktop file found: squashfs-root/usr/share/applications/MyApp.desktop
[gstreamer/stdout] Deploying files to AppDir root using desktop file: squashfs-root/usr/share/applications/MyApp.desktop
[gstreamer/stdout] Deploying desktop file to AppDir root: squashfs-root/usr/share/applications/MyApp.desktop
[gstreamer/stdout] Creating symlink for file squashfs-root/usr/share/applications/MyApp.desktop in/as squashfs-root
[gstreamer/stdout] ERROR: Could not find icon executable for Icon entry: MyApp

ERROR: Failed to run plugin: gstreamer (exit code: 1)

The same action with the 2024-07-01 build succeeds:

linuxdeploy-x86_64-Alpha-2024-07-01.AppImage --appdir squashfs-root --plugin gstreamer -d ./MyApp.desktop --icon-file MyApp.png

...
[gstreamer/stdout] Manually setting rpath for squashfs-root/usr/lib/gstreamer1.0/gstreamer-1.0/gst-completion-helper
[gstreamer/stdout] Manually setting rpath for squashfs-root/usr/lib/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner
[gstreamer/stdout] Manually setting rpath for squashfs-root/usr/lib/gstreamer1.0/gstreamer-1.0/gst-ptp-helper
[gstreamer/stdout] Installing AppRun hook

-- Deploying icons -- 
Deploying icon MyApp.png 
WARNING: Could not find copyright files for file MyApp.png using dpkg-query 

-- Deploying desktop files -- 
Deploying desktop file ./MyApp.desktop 

-- Copying files into AppDir -- 
Copying file ./MyApp.desktop to squashfs-root/usr/share/applications/MyApp.desktop 
Copying file MyApp.png to squashfs-root/usr/share/icons/hicolor/256x256/apps/MyApp.png 

-- Deploying files into AppDir root directory -- 
Deploying files to AppDir root using desktop file: squashfs-root/usr/share/applications/MyApp.desktop 
Deploying desktop file to AppDir root: squashfs-root/usr/share/applications/MyApp.desktop 
Creating symlink for file squashfs-root/usr/share/applications/MyApp.desktop in/as squashfs-root 
Deploying icon to AppDir root: squashfs-root/usr/share/icons/hicolor/256x256/apps/MyApp.png 
Creating symlink for file squashfs-root/usr/share/icons/hicolor/256x256/apps/MyApp.png in/as squashfs-root 
Deploying AppRun symlink for executable in AppDir root: squashfs-root/usr/bin/MyApp 
Creating symlink for file squashfs-root/usr/bin/MyApp in/as squashfs-root/AppRun 

Full output and an example of my desktop file.

Log-2025-02-13.txt
Log-2024-07-01.txt
MyApp.desktop.txt

Activity

  1. CJYate commented on Apr 29, 2025

    @CJYate
    Author

    (The 2024-01-09 build also fails)

  2. TheAssassin commented on Apr 29, 2025

    @TheAssassin
    Member

    Please re-run with -v0 and check the initial linuxdeploy log whether it the gstreamer plugin file was found even. Please make sure it's executable.

  3. CJYate commented on Apr 29, 2025

    @CJYate
    Author

    The top of the log: That plugin is found (and it's executable).

    DEBUG: subprocess /home/username/.vs/project/build-linux-ninja-clang-release-installer/Release/InstallerOutput/linuxdeploy-plugin-gstreamer.sh --plugin-type failed with exit code 1 
    DEBUG: stdout: Invalid argument: --plugin-type
    
    Usage: /home/username/.vs/project/build-linux-ninja-clang-release-installer/Release/InstallerOutput/linuxdeploy-plugin-gstreamer.sh --appdir <path to AppDir>
    
    Bundles GStreamer plugins into an AppDir
    
    Required variables:
      LINUXDEPLOY=".../linuxdeploy" path to linuxdeploy (e.g., AppImage); set automatically when plugin is run directly by linuxdeploy
    
    Optional variables:
      GSTREAMER_INCLUDE_BAD_PLUGINS="1" (default: disabled; set to empty string or unset to disable)
      GSTREAMER_PLUGINS_DIR="..." (directory containing GStreamer plugins; default: guessed based on main distro architecture)
      GSTREAMER_HELPERS_DIR="..." (directory containing GStreamer helper tools like gst-plugin-scanner; default: guessed based on main distro architecture)
      GSTREAMER_VERSION="1.0" (default: 1.0)
     
    DEBUG: stderr: (no output) 
    DEBUG: Found plugin 'gstreamer': /home/username/.vs/project/build-linux-ninja-clang-release-installer/Release/InstallerOutput/linuxdeploy-plugin-gstreamer.sh 
    DEBUG: Already found gstreamer plugin in /home/username/.vs/project/build-linux-ninja-clang-release-installer/BuildTools/linuxdeploy-plugin-gstreamer.sh 
    DEBUG: Using dpkg-query to search for copyright files 
    
    -- Creating basic AppDir structure -- 
    Creating directory ./squashfs-root/usr/bin/ 
    Creating directory ./squashfs-root/usr/lib/ 
    Creating directory ./squashfs-root/usr/share/applications/ 
    Creating directory ./squashfs-root/usr/share/icons/hicolor/ 
    Creating directory ./squashfs-root/usr/share/icons/hicolor/16x16/apps/ 
    Creating directory ./squashfs-root/usr/share/icons/hicolor/32x32/apps/ 
    Creating directory ./squashfs-root/usr/share/icons/hicolor/64x64/apps/ 
    Creating directory ./squashfs-root/usr/share/icons/hicolor/128x128/apps/ 
    Creating directory ./squashfs-root/usr/share/icons/hicolor/256x256/apps/ 
    Creating directory ./squashfs-root/usr/share/icons/hicolor/scalable/apps/ 
    
    -- Deploying dependencies for existing files in AppDir -- 
    

    The end of the log is as the failing one above: confusingly, since I've specified a desktop file (and icon file) on the command line, it complains about not finding them.

    [gstreamer/stdout] Setting rpath in ELF file ./squashfs-root/usr/lib/libzimg.so.2 to $ORIGIN 
    [gstreamer/stdout] Setting rpath in ELF file ./squashfs-root/usr/lib/libzmq.so.5 to $ORIGIN 
    [gstreamer/stdout] Setting rpath in ELF file ./squashfs-root/usr/lib/libzstd.so.1 to $ORIGIN 
    [gstreamer/stdout] Setting rpath in ELF file ./squashfs-root/usr/lib/libzvbi.so.0 to $ORIGIN 
    [gstreamer/stdout] 
    [gstreamer/stdout] -- Copying files into AppDir -- 
    [gstreamer/stdout] 
    [gstreamer/stdout] -- Deploying files into AppDir root directory -- 
    [gstreamer/stdout] WARNING: No desktop file specified, using first desktop file found: ./squashfs-root/usr/share/applications/MyApp.desktop 
    [gstreamer/stdout] Deploying files to AppDir root using desktop file: ./squashfs-root/usr/share/applications/MyApp.desktop 
    [gstreamer/stdout] Deploying desktop file to AppDir root: ./squashfs-root/usr/share/applications/MyApp.desktop 
    [gstreamer/stdout] Creating symlink for file ./squashfs-root/usr/share/applications/MyApp.desktop in/as ./squashfs-root 
    [gstreamer/stdout] ERROR: Could not find icon executable for Icon entry: MyApp 
    ERROR: Failed to run plugin: gstreamer (exit code: 1) 
    error at line 72 in /home/username/.vs/project/build-linux-ninja-clang-release-installer/BuildTools/linuxappimage.sh
    
  4. CJYate commented on Apr 30, 2025

    @CJYate
    Author

    Update: I've stripped this right back to a very minimal test with a completely empty target folder.

    This doesn't work, but indicates there may be something about my deployment staging folder that's causing an issue. I'd appreciate a pointer in terms of what's wrong, if you can help?

    The other answers I've seen for this say to check line endings on the .desktop file -- this isn't the issue. The error messages are quite hard to interpret :-(

    [gstreamer/stdout] Manually setting rpath for currentVersion/usr/lib/gstreamer-1.0/libgsty4menc.so
    [gstreamer/stdout] Manually setting rpath for currentVersion/usr/lib/gstreamer-1.0/libgstzbar.so
    [gstreamer/stdout] Manually setting rpath for currentVersion/usr/lib/gstreamer-1.0/libgstzxing.so
    [gstreamer/stdout] Copying helpers in currentVersion/usr/lib/gstreamer1.0/gstreamer-1.0
    [gstreamer/stdout] Copying helper: /usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-codec-info-1.0
    [gstreamer/stdout] Copying helper: /usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-completion-helper
    [gstreamer/stdout] Copying helper: /usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner
    [gstreamer/stdout] Copying helper: /usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-ptp-helper
    [gstreamer/stdout] Manually setting rpath for currentVersion/usr/lib/gstreamer1.0/gstreamer-1.0/gst-codec-info-1.0
    [gstreamer/stdout] Manually setting rpath for currentVersion/usr/lib/gstreamer1.0/gstreamer-1.0/gst-completion-helper
    [gstreamer/stdout] Manually setting rpath for currentVersion/usr/lib/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner
    [gstreamer/stdout] Manually setting rpath for currentVersion/usr/lib/gstreamer1.0/gstreamer-1.0/gst-ptp-helper
    [gstreamer/stdout] Installing AppRun hook
    
    -- Deploying icons --
    Deploying icon MyApp.png
    WARNING: Could not find copyright files for file MyApp.png using dpkg-query
    
    -- Deploying desktop files --
    Deploying desktop file MyApp.desktop
    
    -- Copying files into AppDir --
    Copying file MyApp.desktop to currentVersion/usr/share/applications/MyApp.desktop
    Copying file MyApp.png to currentVersion/usr/share/icons/hicolor/256x256/apps/MyApp.png
    
    -- Deploying files into AppDir root directory --
    Deploying files to AppDir root using desktop file: currentVersion/usr/share/applications/MyApp.desktop
    Deploying desktop file to AppDir root: currentVersion/usr/share/applications/MyApp.desktop
    Creating symlink for file currentVersion/usr/share/applications/MyApp.desktop in/as currentVersion
     RROR: Could not find suitable icon for Icon entry: MyApp
    
  5. TheAssassin commented on May 1, 2025

    @TheAssassin
    Member

    It's good to see that the gstreamer plugin is running now.

    Regarding the icon entry, that looks like a bug. Could you upload your zipped AppDir, please?

  6. CJYate commented on May 1, 2025

    @CJYate
    Author

    Here's a zipped example - a Hello World app, a 256x256 white icon, and script to create the appdir (which I've also included).

    Run the test.sh: this expects the linuxdeploy appimage in the same directory

    Example.tar.gz

    $ ./test.sh
    linuxdeploy version 1-alpha (git commit ID c28054b), GitHub actions build 307 built on 2025-04-01 01:43:45 UTC
    
    -- Creating basic AppDir structure --
    Creating directory testApp/usr/bin/
    Creating directory testApp/usr/lib/
    Creating directory testApp/usr/share/applications/
    Creating directory testApp/usr/share/icons/hicolor/
    Creating directory testApp/usr/share/icons/hicolor/16x16/apps/
    Creating directory testApp/usr/share/icons/hicolor/32x32/apps/
    Creating directory testApp/usr/share/icons/hicolor/64x64/apps/
    Creating directory testApp/usr/share/icons/hicolor/128x128/apps/
    Creating directory testApp/usr/share/icons/hicolor/256x256/apps/
    Creating directory testApp/usr/share/icons/hicolor/scalable/apps/
    
    -- Deploying dependencies for existing files in AppDir --
    Deploying dependencies for ELF file testApp/usr/bin/MyApp
    Skipping deployment of blacklisted library /lib/x86_64-linux-gnu/libstdc++.so.6
    Skipping deployment of blacklisted library /lib/x86_64-linux-gnu/libc.so.6
    Skipping deployment of blacklisted library /lib/x86_64-linux-gnu/libm.so.6
    Skipping deployment of blacklisted library /lib/x86_64-linux-gnu/libgcc_s.so.1
    
    -- Copying files into AppDir --
    Setting rpath in ELF file testApp/usr/bin/MyApp to $ORIGIN/../lib
    
    -- Deploying desktop files --
    Deploying desktop file MyApp.desktop
    
    -- Copying files into AppDir --
    Copying file MyApp.desktop to testApp/usr/share/applications/MyApp.desktop
    
    -- Deploying files into AppDir root directory --
    Deploying files to AppDir root using desktop file: testApp/usr/share/applications/MyApp.desktop
    Deploying desktop file to AppDir root: testApp/usr/share/applications/MyApp.desktop
    Creating symlink for file testApp/usr/share/applications/MyApp.desktop in/as testApp
    ERROR: Could not find icon executable for Icon entry: MyApp
    

    What am I missing on the command line, or in setting up the appdir?

  7. CJYate commented on May 7, 2025

    @CJYate
    Author

    Hi @TheAssassin ,
    Sorry to nag, but please could you confirm whether this looks like a bug, or user error on my end?

  8. CJYate commented on May 14, 2025

    @CJYate
    Author

    Ooops. It's user error in my example. sorry!

    But I have sent a PR #316 since that's an issue here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions