Web lists-archives.com

Quick and dirty packaging




Hello all,

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 installation.

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!

Cheers, Jonathan