Skip to content

Broken AppImage after skipping AppRun hook creation on Qt6 #213

@ctlcltd

Description

@ctlcltd

With latest builds of linuxdeploy, linuxdeploy-qt-plugin the resulting qt6 AppImage is broken.

Here is the log:

linuxdeploy version 1-alpha (git commit ID cc7b864), GitHub actions build 335 built on 2026-03-01 02:26:01 UTC
[...]
[qt/stdout] -- Creating qt.conf in AppDir -- 
[qt/stdout] Creating Qt conf file: AppDir/usr/bin/qt.conf 
[qt/stdout] 
[qt/stdout] -- Note: skipping AppRun hook creation on Qt  6  -- 
[qt/stdout] 
[qt/stdout] Done! 

Launching bundle.AppImage no longer reads for bin/qt.conf file. Seems the bash script is required to reach the current working directory.

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Aborted                (core dumped) ./test.AppImage

I found this change, issue #155 commit: 4e4d51c

If the apprun-hooks folder doesn't exist with content, linuxdeploy doesn't create the script, linuxdeploy::deployAppRunWrapperIfNecessary() https://github.com/linuxdeploy/linuxdeploy/blob/cc7b86472c3caa3fd729b9dc502fd2aa78394257/src/core/appdir_root_setup.cpp#L268

Maybe the script solution is not very nice, because it requires bash to be installed on the system. I don't know if there's another way to comply this wrap through linuxdeploy directly.

Note: I'm using Qt6 binaries from conda-forge and I don't know if there is implications for current working directory and the logic to locate local qt.conf file.

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