Problem with dependencies

Volker Krause vkrause at kde.org
Thu Oct 29 10:04:43 CET 2009


On Wednesday 28 October 2009 18:55:06 Alexander Neundorf wrote:
> On Wednesday 28 October 2009, Volker Krause wrote:
> > On Tuesday 27 October 2009 16:42:26 Michael Jansen wrote:
> > > Hi
> > >
> > > Because of some qt problem i had to deactivate Nepomuk.
> > >
> > > It is a optional dependency in kdebase/runtime. Specifying
> > > -DWITH_Nepomuk=0 worked (I have nepomuk compiled. onto2vocab... just
> > > crashes on execution).
> > >
> > > It is only on the first glimpse an optional dependence in kdepim.
> > > Therefore compiling kdepim with -DWITH_Nepomuk fails because it still
> > > tries to use Nepomuk.
> > >
> > > The first problem is that kdepim tries to find Nepomuk twice:
> > >
> > > kdepim/CMakeLists.txt:
> > > >  macro_optional_find_package(Soprano)
> > > >
> > >  > macro_log_feature(Soprano_FOUND "Soprano" "Semantic Desktop Storing"
> > >
> > > "http://soprano.sourceforge.net" FALSE "" "Soprano is needed for
> > > Nepomuk")
> > >
> > > >  macro_optional_find_package(Nepomuk)
> > > >
> > >  > macro_log_feature(Nepomuk_FOUND "Nepomuk" "The Nepomuk libraries"
> > >
> > > "http://www.kde.org" FALSE "" "Nepomuk extends the search and tagging
> > > functionalities in KMail and Akonadi")
> > >
> > > kdepim/akonadi/CMakeLists.txt:
> > > > find_package(Soprano)
> > > > macro_log_feature(Soprano_FOUND "Soprano" "Semantic Desktop Storing"
> > >
> > > "http://soprano.sourceforge.net" FALSE "" "Soprano is needed for
> > > Nepomuk")
> > >
> > > > find_package(Nepomuk)
> > > > macro_log_feature(Nepomuk_FOUND "Nepomuk" "The Nepomuk libraries"
> > >
> > > "http://www.kde.org" FALSE "" "Nepomuk extends the search and tagging
> > > functionalities in KMail and Akonadi")
> > >
> > > Which essentially means it's not optional in the sense i can't disable
> > > it when i have it installed.
> > >
> > > When fixing that problem locally i encountered two other problems.
> > >
> > > First a kdepim developer objecting to my change because Nepomuk already
> > > is optional in his opinion. I think we have a problem with people
> > > understanding the use case for macro_optional_find_package .
> > >
> > > Second It still doesn't compile because akonadiconsole these days has a
> > > ui file referencing some Nepomuk Widget.
> > >
> > > Which leads me to the main point of this mail. We need additional
> > > automatic builds imho. Builds that make sure all these optional
> > > packages are really optional. Developers (me included) tend to compile
> > > only the everything enabled version. Is there any chance on getting
> > > these?
> >
> > From my experience with maintaining the automatic builds on
> > dashboard.akonadi-project.org, the problem is the considerable time
> > needed to maintain those "automatic" builds. I have to intervene manually
> > more or less every other day because something broke/hangs/flooded the
> > disk/whatever.
>
> As Michael already asked, can you give a bit more detail on this ?
> What I can imagine in issues is
> * updating required packages, e.g. Qt
> * stuff hangs while executing the tests
> Are there more issues ?

About 20% of the maintenance is compilation issues caused by my environment 
setup, including:
- wrong/outdated dependency versions (I have basically every optional 
dependency installed)
- icecream cluster problems
- I currently don't delete the install dir before building, which sometimes 
can have side-effects (I tried that, but some of the tests rely on installed 
runtime stuff from other modules)

Most of the work is needed for the tests though:
- some require X
- many require D-Bus
- several of them hang and need to be killed afterwards, some even block port 
numbers needed by subsequent tests while hanging
- some flood my /tmp directory, so this needs to be cleaned up

I've put most of that into the simple shell script that actually runs the 
builds, but I have to add new stuff there regularly. Additionally, some of 
the setup is not persistent and thus needs to redone when the machine 
rebooted after a power outage etc.

> How are you doing these builds, are you using the ctest scripts in svn as
> e.g. kdelibs/KDELibsNightly.cmake ?

didn't know about that, my attempts making it proper nightly builds failed so 
far, therefore I'm still using experiemental.

> If not, why not and what are you using instead ?

a simple shell script, run by cron every night

> Do you know about my.cdash.org ?

I do now, I didn't when setting up the dashboard on akonadi-project.org. I 
knew you had one somewhere but I couldn't find it when I was starting to look 
into this.

> This is hosted by Kitware and we can also set up projects there. Do you
> prefer to have it hosted on akonadi-projects.org or would you also be ok
> with my.cdash.org ?

I used my own install when playing with this initially, to not disturb anyone 
else with the experiments and due to lack of knowledge of my.cdash.org.

> I don't really care, but it would be nice if the hosting would be a
> long-term solution (the Kitware one is).
> Also I think we should use only one cdash install, either the one on
> my.cdash.org or the one on akonadi-project.org.

Makes sense, and I certainly don't mind not maintaining the cdash installation 
myself :)

> I'd also like to have more projects there, e.g. kdebase, kdesupport, and
> everything else what's interesting.
>
> So what do you prefer ? Host all that on akonadi-project.org or move to
> my.cdash.org (there you at least don't have to maintain the cdash
> installation, and we can ask Bill about the details).

looks like my.cdash.org already has a newer version installed than the 
akonadi-project.org one, probably makes sense to move to that one.

regards
Volker
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20091029/ee7d7baa/attachment.sig 


More information about the Kde-buildsystem mailing list