Skip to content

Installing linuxdeploy is unnecessarily painful — repo should contain everything #320

@Manamama

Description

@Manamama

Building linuxdeploy from scratch on a fresh system is far too complicated. (User dislikes the idea of pulling an AppImage image to create AppImages, especially on Termux and such.)

The repository currently requires the user to chase multiple submodules and install a bunch of dependencies manually, which is completely unnecessary for a project like this.

Steps I had to take to even get a successful build

git clone https://github.com/linuxdeploy/linuxdeploy.git
cd linuxdeploy

# Required submodules (not cloned automatically)
git submodule update --init --recursive

# Required development packages
sudo apt install libgtest-dev libgmock-dev cimg-dev

# Build
cmake .
sudo make install

Notes / kvetch points:

  1. Submodules are required but not included in the main clone. The user has to know to run git submodule update --init --recursive for every single submodule. Missing one will fail the build cryptically.
  2. Dependencies are not auto-checked. Without libgtest-dev, libgmock-dev, or cimg-dev, cmake or make fails, often silently or with confusing errors.
  3. Hardcoded CMake flags (-static-libstdc++ -static-libgcc -Werror) break the build on Clang unless manually overridden.
  4. AppImage plugin is separate (linuxdeploy-plugin-appimage) and also requires a clone and build, which is absurd: linuxdeploy itself can’t function without it for AppImage builds, yet it’s not bundled or auto-fetched. See also [plugin issue #38](Installation pain and missing integration with main linuxdeploy repository linuxdeploy-plugin-appimage#38) suggesting that the plugin should be included in this repo.
  5. Users should never have to jump through this many hoops just to run a cmake && make on a fresh system.

Suggestion

  • Bundle all required submodules within the main repository.
  • Include linuxdeploy-plugin-appimage or make it optional but easy to fetch automatically.
  • Auto-detect or document missing dependencies clearly.
  • Remove or patch hardcoded flags that break builds on Clang.

Right now, installing linuxdeploy is a manual scavenger hunt for dependencies, submodules, and build flags — it should be a single clone + build.


Refs:
linuxdeploy/linuxdeploy-plugin-appimage#38
Piebald-AI/gemini-desktop#34

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