Web lists-archives.com

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 kdesrc-buildrc.

I tried running cmake manually, adding -DQTDIR=<qtdir> and still nothing changed.

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?

Jonathan

On 24/01/18 11:41, Michael Pyne wrote:
On Wed, Jan 24, 2018 at 10:18:32AM +0800, Jonathan Schultz wrote:
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?

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

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.

Regards,
  - Michael Pyne