Web lists-archives.com

Re: Quick and dirty packaging




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