Re: Quick and dirty packaging
- Date: Wed, 24 Jan 2018 21:13:09 +0800
- From: Jonathan Schultz <jonathan@xxxxxxxxxx>
- Subject: Re: Quick and dirty packaging
Thank you for the help.
I have confirmed that my static Qt5 build includes Qt5X11Extras, that is
the file libQt5X11Extras.a is present in <qtdir>/lib
But I still get the cmake error.
I tried using strace to see what files cmake looks for, and rather
surprisingly found: 1. no references to anything that looked like
libQt5X11Extras.a and 2. looking for other Qt5 libraries in
/usr/lib/x86_64-linux-gnu/ and not in the <qtdir> specified in by
I tried running cmake manually, adding -DQTDIR=<qtdir> and still nothing
So it seems that kdesrc-build and/or the cmake scripts are ignoring the
value of qtdir. Is that possible? Or am I missing something? And is
there a simple work-around?
On 24/01/18 11:41, Michael Pyne wrote:
On Wed, Jan 24, 2018 at 10:18:32AM +0800, Jonathan Schultz wrote:
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?
I think this is just a problem with a missing static-compiled version of
Qt5X11Extras. If you don't have a static Qt then I would think you
would have run into error messages earlier though. If you compiled your
own Qt to make a static version of it then you may have missed that
Qt5X11Extras is part of a separate module, it's not part of the qtbase
non-developer friend to install docker which might just be enough to
make him lose interest...
Any other suggestions would be most welcome!
There are various technologies out there to try to solve distribution of
application binaries on Linux without a full-blown container
infrastructure like Docker, including FlatPak, Snappy, and AppImage.
I've never used any of those however and so I'm not sure how easy it is
to use, but something in that category seems like the best bet IMHO.
- Michael Pyne