[Kde-pim] kdepim unbuildable with kdesrc-build

Daniel Vrátil dvratil at kde.org
Mon Aug 24 17:47:30 BST 2015


On Monday, August 24, 2015 12:04:04 PM CEST Milian Wolff wrote:
> On Monday, August 24, 2015 11:42:10 AM CEST Volker Krause wrote:
> > Hi Martin,
> > 
> > sorry about that.
> > 
> > I'm not exactly sure what is wrong here, I use kdesrc-build myself, for
> > kdepim and everything else of KDE I use, and never had this issue with
> > kdepim. Last time I saw similar issues was in the very early KF5 days,
> > when
> > stuff was still moving a lot, and you are right, these issues are very
> > frustrating to debug.
> > 
> > I also usually have the old builds still around, both in build and install
> > locations, so that sounds similar to your setup, and my kdesrc-build
> > configuration is pretty much vanilla upstream.
> > 
> > I'm also not aware of anything non-standard we do regarding library search
> > paths etc, so without further input I unfortunately have no idea how to
> > improve the situation :-(
> > 
> > Anyone else seeing this, or similar issues with building manually? Which
> > library is picked up over which other one in the case things go wrong, for
> > which target, and what do the CMake config files say for those libraries?
> > I
> > have seen switching between debug and release builds creating duplicate
> > config files, and thus resulting in an outdated one still being around
> > after some time, something similar might be happening here.
> 
> Personally, I saw it just yesterday. It happened in kdepim (the git repo,
> not the meta module), with nearly all libs, sadly I forgot the exact reason
> - it was complaining about missing unresolved symbols - I forgot which
> ones. A make uninstall && make install fixed it for me.

I think the reason could be that some of the shared libraries (like 
libkmailprivate.so) have all their dependencies linked privately, even though 
some of the dependencies are used in their headers. Other binaries that link 
against them then get linked against the wrong libs, probably because of some 
cmake-target-linking-interface-visibility-black-magic thing.

As an example, I just got linking error of kmail_part.so due to undefined 
KMime symbols in /opt/kde-devel/lib64/libmessageviewer.so. kmail_part.so does 
not link against it directly, but it links against libkmailprivate.so, which 
has links messageviewer links against messageviewer (privately). Moving 
messageviewer to public linking interface of kmailprivate fixed the build 
subsequently for me.

Here is the full patch I used to make my kdepim compile today:
https://paste.kde.org/pobglzrie

I'm not sure if this is really the case, but if really is, then this patch 
only fixes the today case and we need some better method how to detect that we 
are missing dependencies in public linking interface...

Dan


> 
> > On Monday 24 August 2015 10:54:04 Martin Graesslin wrote:
> > > Hi pim-devs,
> > > 
> > > I just spent two hours trying to build kdepim. I finally succeeded and I
> > > have a running kdepim from master again. Hey, I don't have the time to
> > > spend hours on trying to build kdepim, this is blocking my work.
> > > 
> > > Let's go a step back and look at the root problem: one cannot build
> > > kdepim
> > > if an older version is installed. So I run kdesrc-build last week, which
> > > worked for hundreds of projects, but failed for kdepim, because it tries
> > > to
> > > link outdated installed files instead of the newly build ones. I ignored
> > > it
> > > last week, but this morning kmail crashed and I was unable to start due
> > > to
> > > newer libraries errors (kmime and others were updated after all). So I
> > > had
> > > to try to build kmail.
> > > 
> > > The experience is horrible: I had to figure out which files to delete,
> > > by
> > > manually running make, see the error message, delete the offending file,
> > > run make again, wait and continue.
> > > 
> > > Unfortunately all of that did not help, in the end I did:
> > > ./extragear/utils/kdesrc-build/kdesrc-build --refresh-build kdepim
> > > 
> > > Which did not just a refresh-build of kdepim, no! It started the
> > > complete
> > > module with 21 projects. Unfortunately kdepim means the module-set and
> > > the
> > > module. So I wasted another half an hour compile time on rebuilding
> > > stuff
> > > I
> > > didn't need.
> > > 
> > > As you can read from this mail: I'm rather frustrated by the build setup
> > > of
> > > kdepim. Could you please fix that stuff. If you want kde-developers to
> > > test
> > > pim, make sure that it can be build with kdesrc-build. If you cannot
> > > ensure
> > > it, remove it from kdesrc-build. Running kdesrc-build and afterwards
> > > having
> > > a situation where
> > > a) you cannot start kdepim any more
> > > b) you cannot compile it
> > > isn't really helpful for getting people to test your latest work. If I
> > > have
> > > a broken kmail after running kdesrc-build I must look for another email
> > > client as I cannot spend 2 hours every few days to get back to my mails.
> > > 
> > > Cheers
> > > Martin Gräßlin
> > > 
> > > P.S.: I'm not subscribed to this mailing list

-- 
Daniel Vrátil
Email: dvratil at kde.org
Jabber: dan.vratil at kdetalk.net
IRC: dvratil on Freenode (#kde, #kontact, #akonadi)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20150824/daffad49/attachment.sig>
-------------- next part --------------
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list