-
Notifications
You must be signed in to change notification settings - Fork 91
Open
Description
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:
- 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. - Dependencies are not auto-checked. Without
libgtest-dev
,libgmock-dev
, orcimg-dev
,cmake
ormake
fails, often silently or with confusing errors. - Hardcoded CMake flags (
-static-libstdc++ -static-libgcc -Werror
) break the build on Clang unless manually overridden. - 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. - 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
bl-ue
Metadata
Metadata
Assignees
Labels
No labels