<br><br><div class="gmail_quote">On Mon, May 7, 2012 at 3:12 PM, David Faure <span dir="ltr"><<a href="mailto:faure@kde.org" target="_blank">faure@kde.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Monday 07 May 2012 13:06:15 Vishesh Handa wrote:<br>
> On Mon, May 7, 2012 at 12:44 PM, Sune Vuorela <<a href="mailto:nospam@vuorela.dk">nospam@vuorela.dk</a>> wrote:<br>
> > On 2012-05-07, Vishesh Handa <<a href="mailto:me@vhanda.in">me@vhanda.in</a>> wrote:<br>
> > > Right.<br>
> > ><br>
> > > We could maintain BC and SC by not touching the kdelibs nepomuk, and<br>
> > > just<br>
> > > making nepomuk-core a dependency of kdelibs. But that would result in<br>
> ><br>
> > both<br>
> ><br>
> > > nepomuk-core and kdelibs installing the same headers.<br>
> ><br>
> > what happens if both libraries are loaded into the same process?<br>
><br>
> I'm not sure. I'm assuming that it would result in some sort of linker<br>
> errors.<br>
<br>
</div>Not if libnepomukcore is brought in by the application, and libnepomuk is<br>
brought in by a dlopened plugin. In such a case, you get no clear error, you<br>
get random crashes.<br>
<br>
The solution is usually to namespace the symbols (classes, standalone<br>
functions etc.) so that they don't conflict.<br>
Of course that makes the porting effort a bit higher, but it's the only way to<br>
have both things side by side during the transition period.<br></blockquote><div><br>Oh.<br><br>So, we're down to 3 options -<br><br><b>1.</b> nepomuk-core become a dependency of kdelibs. Kdelibs is not touched.<br><b>Problem:</b> Overlapping headers and possible mysterious crashes if both libraries are loaded.<br>
<br><b>2.</b> nepomuk-core installs headers under nepomuk2. It's released independently.<br><b>Problem:</b> Mysterious crashes if both libraries are loaded.<br><br><b>3.</b> nepomuk-core installs headers under nepomuk2 and the namespace is changed to nepomuk2.<br>
<b>Problem:</b> A lot more work :(<br><br>In all cases, kde-runtime/nepomuk will be removed. Binary and Source compatibility are not affected.<br> <br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<br>
See knewstuff2 (namespace KNS) vs knewstuff3 (namespace KNS3) for instance ;)<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
David Faure, <a href="mailto:faure@kde.org">faure@kde.org</a>, <a href="http://www.davidfaure.fr" target="_blank">http://www.davidfaure.fr</a><br>
Sponsored by Nokia to work on KDE, incl. KDE Frameworks 5<br>
<br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br><span style="color:rgb(192,192,192)">Vishesh Handa</span><br><br>