Skip to content

Installation pain and missing integration with main linuxdeploy repository #38

@Manamama

Description

@Manamama

Hi maintainers,

I tried installing linuxdeploy-plugin-appimage on a fresh Ubuntu system, and the process was extremely cumbersome. Here is the step-by-step path I had to take:

  1. Clone the plugin repository manually:

    git clone https://github.com/linuxdeploy/linuxdeploy-plugin-appimage.git
    cd linuxdeploy-plugin-appimage
  2. Initialize submodules:

    git submodule update --init --recursive
  3. Create a build directory (optional, but standard with CMake):

    mkdir build && cd build
    cmake ..
  4. Attempted to build:

    make
    sudo make install

    This failed due to clang complaining about -static-libstdc++ and -static-libgcc being unused, triggered by -Werror.

  5. Temporary fix: remove -Werror or suppress the unused argument warnings:

    cmake -DCMAKE_CXX_FLAGS="-O2 -Wno-error=unused-command-line-argument" ..
    make
    sudo make install
  6. Finally, the plugin compiled and installed:

    /usr/local/bin/linuxdeploy-plugin-appimage

Observations / Pain Points:

  • The need to clone this repository manually is confusing. Ideally, the main linuxdeploy repository should include this plugin as a submodule or provide a streamlined install process. Users should not have to hunt it down separately.
  • The build breaks on Clang because of hardcoded GCC-specific flags combined with -Werror. Many users will have Clang installed by default on modern distros.
  • Submodule initialization is not documented in the README; newcomers may be confused by the missing lib/args and other submodules.
  • The cumulative effect of all the steps makes installation unnecessarily painful, especially compared to the old make/apt style many developers are familiar with.

Suggestions:

  • Consider integrating the plugin directly into the main linuxdeploy repository or provide a single install script.
  • Make CMakeLists.txt more compiler-agnostic, especially when using -static-libstdc++ and -static-libgcc.
  • Provide clear instructions for submodule initialization and common Clang issues in the README.

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