Quick and dirty packaging
- Date: Wed, 24 Jan 2018 10:18:32 +0800
- From: Jonathan Schultz <jonathan@xxxxxxxxxx>
- Subject: Quick and dirty packaging
I'm looking for some guidance or suggestions about some way to build a
KDE application (more precisely a personal fork of okular) so that
someone else with a reasonably similar system (x86_64 Linux) can use it
without having to install extra packages, or otherwise mess with their
I've tried two ways so far but hit the wall in both cases:
1. Doing a static build (by including the line "cmake-options
-DBUILD_SHARED_LIBS=FALSE") in my kdesrc-buildrc file. This builds a few
packages but then produces a cmake error when building kconfigwidgets:
CMake Error at src/CMakeLists.txt:21 (add_library):
Target "KF5ConfigWidgets" links to target "Qt5::X11Extras" but the target
was not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
I've tried investigating but find cmake pretty hard to debug. Why does
that add_library command work when building shared libraries but not
static libraries - I guess it's something to do with intelligently
choosing between shared and static libraries, but what to do next?
2. Doing a normal shared build and packaging all the required libraries
with the executable. This hits the wall when I need to package a
different version of libc.so.6, which then gets messed up with the
native version of the same file and makes the shell segfault.
I guess I could build in a docker container, but that would require my
non-developer friend to install docker which might just be enough to
make him lose interest...
Any other suggestions would be most welcome!