The Nepomuk Situation
Sebastian TrĂ¼g
trueg at kde.org
Mon May 7 13:24:52 BST 2012
On 05/07/2012 12:09 PM, Vishesh Handa wrote:
>
>
> On Mon, May 7, 2012 at 3:12 PM, David Faure <faure at kde.org
> <mailto:faure at kde.org>> wrote:
>
> On Monday 07 May 2012 13:06:15 Vishesh Handa wrote:
> > On Mon, May 7, 2012 at 12:44 PM, Sune Vuorela <nospam at vuorela.dk
> <mailto:nospam at vuorela.dk>> wrote:
> > > On 2012-05-07, Vishesh Handa <me at vhanda.in
> <mailto:me at vhanda.in>> wrote:
> > > > Right.
> > > >
> > > > We could maintain BC and SC by not touching the kdelibs
> nepomuk, and
> > > > just
> > > > making nepomuk-core a dependency of kdelibs. But that would
> result in
> > >
> > > both
> > >
> > > > nepomuk-core and kdelibs installing the same headers.
> > >
> > > what happens if both libraries are loaded into the same process?
> >
> > I'm not sure. I'm assuming that it would result in some sort of linker
> > errors.
>
> Not if libnepomukcore is brought in by the application, and
> libnepomuk is
> brought in by a dlopened plugin. In such a case, you get no clear
> error, you
> get random crashes.
>
> The solution is usually to namespace the symbols (classes, standalone
> functions etc.) so that they don't conflict.
> Of course that makes the porting effort a bit higher, but it's the
> only way to
> have both things side by side during the transition period.
>
>
> Oh.
>
> So, we're down to 3 options -
>
> *1.* nepomuk-core become a dependency of kdelibs. Kdelibs is not touched.
> *Problem:* Overlapping headers and possible mysterious crashes if both
> libraries are loaded.
>
> *2.* nepomuk-core installs headers under nepomuk2. It's released
> independently.
> *Problem:* Mysterious crashes if both libraries are loaded.
>
> *3.* nepomuk-core installs headers under nepomuk2 and the namespace is
> changed to nepomuk2.
> *Problem:* A lot more work :(
Well, I suppose we could make this work with some sed magic. :P
I would vote for option 3 which could then be reverted (or not) for kde5.
> In all cases, kde-runtime/nepomuk will be removed. Binary and Source
> compatibility are not affected.
>
>
>
> See knewstuff2 (namespace KNS) vs knewstuff3 (namespace KNS3) for
> instance ;)
>
> --
> David Faure, faure at kde.org <mailto:faure at kde.org>,
> http://www.davidfaure.fr
> Sponsored by Nokia to work on KDE, incl. KDE Frameworks 5
>
>
>
>
> --
> Vishesh Handa
>
More information about the kde-core-devel
mailing list