Skip to content

Why dose this plugin depends on qmake instead of CMake? #209

Open

Description

@novumdxw

I use this plugin to package the cross-build Qt application, and meet some problems.

I'm interested in the project and would like to contribute.
I have not checked the source code.
Could you please explain the process for deploying a Qt application?

I'm a novice in opensource.
Could you please give me some advice on contributing to this project?

Activity

  1. TheAssassin commented on Jan 30, 2026

    @TheAssassin
    Member

    Your issue has no clear scope and is more of a question.

    There is no dependency on qmake during build time, but during runtime (to detect some Qt paths). This project uses CMake.

    See https://docs.appimage.org/packaging-guide/from-source/linuxdeploy-user-guide.html.

    To contribute, pick an issue (or create one) and comment that you would like to work on it, then we can discuss the details.

  2. novumdxw commented on Jan 30, 2026

    @novumdxw
    Author

    Yeah. This is a question about runtime.

    I want the plugin to be able to use CMake to detect some Qt paths at runtime.
    When I package a cross-build Qt application, the plugin fails to detect the host tools.

    I use the plugin in the sysroot environment. Maybe some configurations are not right.

    Could you please help me edit the title? I can't think of a good one.

  3. TheAssassin commented on Jan 30, 2026

    @TheAssassin
    Member

    Cross compilation is not really well supported. What are your host and target platforms?

  4. novumdxw commented on Jan 30, 2026

    @novumdxw
    Author

    Host: amd64
    Target: aarch64 (RPi5)

  5. novumdxw commented on Jan 30, 2026

    @novumdxw
    Author

    I use the plugin to package the app on host system, but some files are missing.

    I‘m trying to run the plugin in the sysroot, but it's running into the runtime problem.

    So I want to ask for some help.

  6. TheAssassin commented on Jan 30, 2026

    @TheAssassin
    Member

    The tooling just does not support cross compilation. It uses the ldd in $PATH to detect dependencies for instance. Your best bet is to run the ARM version of linuxdeploy(-plugin-qt) in a suitable runtime environment with QEMU (automatically handled with binfmt_misc). Cross compilation is a relatively oldschool approach given the availability of QEMU runtime environments.

    For instance, one can relatively easily run a Docker image for a foreign platform with the --platform parameter.

    Since cross-compilation support would require a huge amount of effort, I will not invest any time into adding any support or merge any PRs that contribute this. It's just not worth the hassle.

  7. novumdxw commented on Jan 30, 2026

    @novumdxw
    Author

    Thanks for your patience in explanining. I get your idea.

    To clarify my method, I use the Raspbian OS to create a complete sysroot and use it as a chroot enviroment.
    When using the aarch64-plugin and cross-build Qt library in the sysroot, I meet the runtime problem that requires for host‘s qmake. So my plan is to use CMake to detect the Qt path. It might be less effort.
    I want to try it by myself.

    Perhaps the correct approach is to install the Qt library in the sysroot using apt install qt6-base-dev.
    I want to build the system not depends on Raspbian OS later.

    Thanks again.

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