kdeinit (was: Summary from Buildsystem BoF at Desktop Summit)

Thiago Macieira thiago at kde.org
Tue Aug 16 09:59:18 BST 2011

On Monday, 15 de August de 2011 23:31:26 Alexander Neundorf wrote:
> -----------------------------------------
> 7) (Getting rid of) kdeinit
> -----------------------------------------
> There was a discussion about what makes a KDE application different from a 
> non-KDE application. One thing is kdeinit, which is used to speed up load
> time  of applications by running a daemon (kdeinit) which is linked against
> a set of shared libraries, and which dlopen()s the applications (i.e. their
> plugin) instead of simply executing them normally.
> - somebody (Volker ?) said that this speedup is still very much needed, 
> especially on slower platforms, e.g. tablets
> - Dirk mentioned that at least on Linux, when building PIE executables 
> (position independent executables), executables can be loaded also as
> shared  object, and our special buildsystem magic would not be required
> anymore. But this would work only on Linux, with kernels >= 2.6.10 (or so,
> i.e. already since a few years).

> Proposal: get rid of our build magic to create kdeinit modules, and simply 
> create PIE executables on platforms that support it (i.e. at least Linux,
> no  problem for Windows), keeping the advantages we have there.

PIE executables do not have the same gain that kdeinit introduces. It's not at 
all the same thing.

kdeinit can be replaced by prelinking, assuming you are not a user of the 
NVidia binary drivers. If you are, you can't prelink, so kdeinit is a help:

/usr/sbin/prelink: /usr/bin/gears: Cannot prelink against non-PIC shared 
library /usr/lib/nvidia-current/libGL.so.1

Another advantage of kdeinit is to run the static constructors in libraries, 
something that prelinking can't do. I've been meaning to add an initialisation 
mode to Qt that would initialise things that can be safely shared, especially 
the loading of plugins. In my opinion, kdeinit should stay.

Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20110816/fa2876c5/attachment.sig>
-------------- next part --------------
Kde-buildsystem mailing list
Kde-buildsystem at kde.org

More information about the kde-core-devel mailing list