Visitar URL original
Support cross-architecture deployment by auto-detecting target binary architecture · Issue #338 · linuxdeploy/linuxdeploy · GitHub
Skip to content

Support cross-architecture deployment by auto-detecting target binary architecture #338

Open

Description

@novumdxw

I am trying to fix issue linuxdeploy/linuxdeploy-plugin-qt#209.

I found the linuxdeploy tool cannot automatically detect the architecture of the target binaries to select the appropriate runtime.

When the target binaries have a different architecture than the linuxdeploy tool itself, the deployment process will be terminated.
This is because the linuxdeploy uses hard-coded ldd and strip commands that don't match the architecture of the target binaries.

Could you please tell me what other tools the linuxdeploy relies on?

Activity

  1. novumdxw commented on Aug 15, 2026

    @novumdxw
    Author

    I read build.sh and found the following code.

    patchelf_path="$(which patchelf)"
    strip_path="$(which strip)"
    linuxdeploy_args=(
        --appdir AppDir
        -e bin/linuxdeploy
        -i "$repo_root/resources/linuxdeploy.png"
        -d "$repo_root/resources/linuxdeploy.desktop"
        -e "$patchelf_path"
        -e "$strip_path"
    )
    
    # deploy patchelf which is a dependency of linuxdeploy
    bin/linuxdeploy "${linuxdeploy_args[@]}"
    

    I guess the linuxdeploy tool uses the host system's patchelf and strip to bundle the dependencies.

  2. novumdxw commented on Aug 15, 2026

    @novumdxw
    Author

    I checked and found that the linux distributions (Ubuntu, Fedora, Arch) use triple-foo as the CLI tool name.

    As shown in the file listings of the following package URLs, the strip tool is named aarch64-linux-gnu-strip across all three distributions.
    Ubuntu-binutils-aarch64-linux-gnu
    Fedora-binutils-aarch64-linux-gnu
    Arch-aarch64-linux-gnu-binutils

    Shouldn't we let the user decide which patchelfand strip to use?

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