-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Description
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:
-
Clone the plugin repository manually:
git clone https://github.com/linuxdeploy/linuxdeploy-plugin-appimage.git cd linuxdeploy-plugin-appimage
-
Initialize submodules:
git submodule update --init --recursive
-
Create a build directory (optional, but standard with CMake):
mkdir build && cd build cmake ..
-
Attempted to build:
make sudo make install
This failed due to
clang
complaining about-static-libstdc++
and-static-libgcc
being unused, triggered by-Werror
. -
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
-
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
Labels
No labels