Challenge for real experts: why does cmake on CI not use automoc for a certain file?

Alex Merry alex.merry at kde.org
Sat Jun 6 10:07:39 UTC 2015


On Friday 05 June 2015 00:58:30 Friedrich W. H. Kossebau wrote:
> you are a cmake and KDE buildsystem expert?
> Prove that yourself and improve the world for others ;)

Or, indeed, work towards becoming such an expert...

> 
> Here is the challenge:
> 
> https://build.kde.org/job/calligra%20frameworks%20kf5-qt5/PLATFORM=Linux,Var
> iation=All,compiler=gcc/28/consoleText
> 
> CMakeFiles/KisAsyncMergerTest.dir/kis_async_merger_test.cpp.o: In function
> `KisAsyncMergerTest::KisAsyncMergerTest()':
> /home/jenkins/builds/calligra/kf5-
> qt5/krita/image/tests/kis_async_merger_test.h:24: undefined reference to
> `vtable for KisAsyncMergerTest'
> CMakeFiles/KisAsyncMergerTest.dir/kis_async_merger_test.cpp.o: In function
> `KisAsyncMergerTest::~KisAsyncMergerTest()':
> /home/jenkins/builds/calligra/kf5-
> qt5/krita/image/tests/kis_async_merger_test.h:24: undefined reference to
> `vtable for KisAsyncMergerTest'
> collect2: error: ld returned 1 exit status
> krita/image/tests/CMakeFiles/KisAsyncMergerTest.dir/build.make:89: recipe
> for target 'krita/image/tests/KisAsyncMergerTest' failed
> 
> Right, you say, smells like automoc not run. And indeed it is not run. So
> far you are an expert.
> 
> But why?
> Why does cmake on CI not want to run automoc on
> kis_async_merger_test.{h,cpp}?
> 
> Locally it works fine for anyone (cmake 3.0.1/3.0.2), noone yet was able to
> reproduce the problem, instead everyone sees:

So my first question is: what version of cmake is being run on the build 
servers? If it's not 3.0.1 or 3.0.2, then that could explain why you can't 
reproduce it locally.

Alex



More information about the Kde-buildsystem mailing list