linuxdeploy: linuxdeploy crashes on Ubuntu Xenial running with docker

Hi,

I have a git project set up to automatically build an AppImage of my project once a day, however, since August 6 (for a while now already, haven’t had time to look into it until now) linuxdeploy crashes when run in a docker image of Ubuntu Xenial.

Here’s the series of commands I use leading up to the final crash:

# ./linuxdeploy-plugin-qt-x86_64.AppImage --appimage-extract
# ./linuxdeploy-x86_64.AppImage --appimage-extract
# QML_SOURCES_PATHS=./qml ./squashfs-root/AppRun --appdir ./appdir/ -d ./appdir/usr/share/applications/myapp.desktop --plugin=qt --output appimage
linuxdeploy version 1-alpha (git commit ID b6a1ba2), Travis build 488 built on 2020-10-09 13:07:48 UTC
terminate called after throwing an instance of 'std::logic_error'
  what():  subprocess failed (exit code 1)
Aborted (core dumped)

Here’s the verbose output I get with the -v0 switch: debug.txt

Am I missing anything/doing anything wrong, or is this a bug?

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 3
  • Comments: 31 (13 by maintainers)

Commits related to this issue

Most upvoted comments

I think I found the solution:

After extracting both linuxdeploy-plugin-qt and linuxdeploy, make sure to delete ./linuxdeploy-plugin-qt-x86_64.AppImage

If you do not do that, then linuxdeploy will detect this AppImage file and try to use it and obviously fail. Only if you delete that AppImage (or remove the executable flags), then will it pick up the extracted files inside ./squashfs-root and list both the appimage and qt plugin as available!

If anyone is looking for a ready-to-go Docker recipe that resolves this issue and results in a working linuxdeploy with the Qt plugin:

# install linuxdeploy and the Qt plugin
RUN curl -sLo /usr/local/bin/linuxdeploy-x86_64.AppImage "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
RUN curl -sLo /usr/local/bin/linuxdeploy-plugin-qt-x86_64.AppImage "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage"
RUN chmod +x /usr/local/bin/linuxdeploy-x86_64.AppImage
RUN chmod +x /usr/local/bin/linuxdeploy-plugin-qt-x86_64.AppImage


# fix for issue of linuxdeploy in Docker containers
RUN dd if=/dev/zero of=/tmp/linuxdeploy-plugin-qt-x86_64.AppImage conv=notrunc bs=1 count=3 seek=8
RUN dd if=/dev/zero of=/tmp/linuxdeploy-x86_64.AppImage conv=notrunc bs=1 count=3 seek=8


# fix issue with AppImage complaining about missing folders
RUN mkdir /usr/lib/x86_64-linux-gnu/qt5/plugins/mediaservice
RUN mkdir /usr/lib/x86_64-linux-gnu/qt5/plugins/audio