Am Montag, 8. Juni 2015, 14:52:12 schrieb Ben Cooksley: > On Sat, Jun 6, 2015 at 10:07 PM, Alex Merry <alex.me...@kde.org> wrote: > > 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. > > The CI system is using "cmake version 3.1.3" on Ubuntu Vivid (15.04). > Not sure if that makes a difference.
Seems it does make a difference 8\ ... With cmake version 3.0.1 (from OpenSUSE Tumbleweed package): $ cd build/calligra.moment/krita/image/tests $ make help | grep sync ... KisAsyncMergerTest ... KisAsyncMergerTest_automoc ... KisAsyncMergerTest_automoc.o ... KisAsyncMergerTest_automoc.i ... KisAsyncMergerTest_automoc.s ... kis_async_merger_test.o ... kis_async_merger_test.i ... kis_async_merger_test.s With cmake version 3.1.3 (manually compiled on my OpenSUSE Tumbleweed): $ cd build/calligra.moment/krita/image/tests $ make help | grep sync ... KisAsyncMergerTest ... kis_async_merger_test.o ... kis_async_merger_test.i ... kis_async_merger_test.s Uh? Anyone seen something similar? Any idea what could make that newer cmake decide that kis_async_merger_test.* does not need automoc? Putting in some #include "moc_kis_async_merger_test.cpp" also did not have any effect. Anyone an idea for a workaround? Cheers Friedrich _______________________________________________ Kde-buildsystem mailing list Kde-buildsystem@kde.org https://mail.kde.org/mailman/listinfo/kde-buildsystem