This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Building Krita 2.8.2 with Vc

Tags: None
(comma "," separated)
fr_fr
Registered Member
Posts
6
Karma
0

Building Krita 2.8.2 with Vc

Tue Jul 29, 2014 9:43 pm
Hi,

I can get krita 2.8.2 to build without Vc but with Vc fails. Below is where it fails. I've tried a few different versions of Vc (0.7.2, 0.7.3 and 0.7.4) and this is what I see:


[ 24%] Built target kritaimage_automoc
[ 24%] Building CXX object kis_brush_mask_applicator_factories_AVX.cpp.o
/opt/Vc-0.7.2/include/Vc/IO:90: warning: ‘std::ostream& std::operator<<(std::ostream&, const Vc::AVX::Vector<char>&)’ defined but not used
/opt/Vc-0.7.2/include/Vc/IO:100: warning: ‘std::ostream& std::operator<<(std::ostream&, const Vc::AVX::Vector<unsigned char>&)’ defined but not used
[ 24%] Building CXX object kis_brush_mask_applicator_factories_Scalar.cpp.o
In file included from /USERS/rory/kde4/src_vc/calligra-2.8.2/krita/image/kis_brush_mask_applicator_factories.cpp:23:
/USERS/rory/kde4/src_vc/calligra-2.8.2/krita/image/kis_brush_mask_applicators.h: In member function ‘void KisBrushMaskVectorApplicator<MaskGenerator, _impl>::process(const QRect&) [with MaskGenerator = KisCircleMaskGenerator, Vc::Implementation _impl = (Vc::Implementation)0u]’:
/USERS/rory/kde4/src_vc/calligra-2.8.2/krita/image/kis_brush_mask_applicator_factories.cpp:113: instantiated from here
/USERS/rory/kde4/src_vc/calligra-2.8.2/krita/image/kis_brush_mask_applicators.h:67: error: call of overloaded ‘startProcessing(const QRect&, KisBrushMaskVectorApplicator<KisCircleMaskGenerator, (Vc::Implementation)0u>::TypeHelper<KisCircleMaskGenerator, (Vc::Implementation)0u>)’ is ambiguous
/USERS/rory/kde4/src_vc/calligra-2.8.2/krita/image/kis_brush_mask_applicators.h:79: note: candidates are: void KisBrushMaskVectorApplicator<MaskGenerator, _impl>::startProcessing(const QRect&, KisBrushMaskVectorApplicator<MaskGenerator, _impl>::TypeHelper<U, (Vc::Implementation)0u>) [with U = KisCircleMaskGenerator, MaskGenerator = KisCircleMaskGenerator, Vc::Implementation _impl = (Vc::Implementation)0u]
/USERS/rory/kde4/src_vc/calligra-2.8.2/krita/image/kis_brush_mask_applicators.h:85: note: void KisBrushMaskVectorApplicator<MaskGenerator, _impl>::startProcessing(const QRect&, KisBrushMaskVectorApplicator<MaskGenerator, _impl>::TypeHelper<U, V>) [with U = KisCircleMaskGenerator, Vc::Implementation V = (Vc::Implementation)0u, MaskGenerator = KisCircleMaskGenerator, Vc::Implementation _impl = (Vc::Implementation)0u]
/opt/Vc-0.7.2/include/Vc/IO: At global scope:
/opt/Vc-0.7.2/include/Vc/IO:90: warning: ‘std::ostream& std::operator<<(std::ostream&, const Vc::Scalar::Vector<char>&)’ defined but not used
/opt/Vc-0.7.2/include/Vc/IO:100: warning: ‘std::ostream& std::operator<<(std::ostream&, const Vc::Scalar::Vector<unsigned char>&)’ defined but not used
make[2]: *** [krita/image/kis_brush_mask_applicator_factories_Scalar.cpp.o] Error 1
make[1]: *** [krita/image/CMakeFiles/kritaimage.dir/all] Error 2

Any thoughts? I am going to try the same build with 2.8.5....
User avatar
halla
KDE Developer
Posts
5092
Karma
20
OS

Re: Building Krita 2.8.2 with Vc

Wed Jul 30, 2014 6:57 am
Hm, no... I need to check which 0.7x of Vc I use, but I haven't seen this problem. If you're not building packages for a distribution, I'd suggest using git master instead of 2.8, though, but that's another thing.
fr_fr
Registered Member
Posts
6
Karma
0

Re: Building Krita 2.8.2 with Vc

Wed Jul 30, 2014 11:17 am
I got the same with the 2.8.5. I'll look at a git master.... what's "another thing" though ? :)
User avatar
halla
KDE Developer
Posts
5092
Karma
20
OS

Re: Building Krita 2.8.2 with Vc

Wed Jul 30, 2014 11:45 am
well, I meant, using git master probably gives you a better experience than 2.8.
Yoyobuae
Registered Member
Posts
26
Karma
1

Re: Building Krita 2.8.2 with Vc

Wed Jul 30, 2014 3:44 pm
Did you try doing a completely fresh build?

I remember getting a similar weird error when trying to rebuild on the existing dir, but removing the build dir and starting over fixed it.
fr_fr
Registered Member
Posts
6
Karma
0

Re: Building Krita 2.8.2 with Vc

Wed Aug 06, 2014 11:05 am
boudewijn wrote:well, I meant, using git master probably gives you a better experience than 2.8.


Tried this but ran into other issues; boot-system devel not being found when I cmake (although it's there). Tried a number of cmake flags to make this find it, is there a definitive way to do this?
User avatar
halla
KDE Developer
Posts
5092
Karma
20
OS

Re: Building Krita 2.8.2 with Vc

Wed Aug 06, 2014 11:39 am
For all the distributions I've tried, except CentOS 6.5, the system-supplied libboost-system dev package is enough.
fr_fr
Registered Member
Posts
6
Karma
0

Re: Building Krita 2.8.2 with Vc

Wed Aug 06, 2014 12:47 pm
OK. i'll take a look

Still seeing the exact same compile errors when using Vc. I'm going to try to compile on a different machine to see if that's the issue (although I couldn't tell you why)
User avatar
scottpetrovic
Registered Member
Posts
520
Karma
4
OS

Re: Building Krita 2.8.2 with Vc

Wed Aug 06, 2014 3:33 pm
I remember having the boost-system error when I was trying to run cmake for Krita on ubuntu 14.04. Installing that dependency fixed it though. I also had to install the qt4-default package as well. That is probably not related to your error though.
fr_fr
Registered Member
Posts
6
Karma
0

Re: Building Krita 2.8.2 with Vc

Thu Aug 07, 2014 12:27 pm
Still experiencing the same errors when compiling with Vc. I've tried with 2.8.5 but not with the latest git build due to the boost-system dev errors noted above.

Any other thoughts?
fr_fr
Registered Member
Posts
6
Karma
0

Re: Building Krita 2.8.2 with Vc

Thu Aug 07, 2014 6:25 pm
76 private:
77 #if QT_VERSION >= 0x040700
78 template<class U>
79 inline void startProcessing(const QRect &rect, TypeHelper<U, Vc::ScalarImpl>) {
80 KisBrushMaskScalarApplicator<MaskGenerator, _impl>::processScalar(rect);
81 }
82 #endif

This from calligra-2.8.5/krita/image/kis_brush_mask_applicators.h is what was breaking my compile. Commenting out the if/endif allows Krita to compile with Vc. Perhaps that's going to cause issues down the road though ? :)


Bookmarks



Who is online

Registered users: Bing [Bot], Evergrowing, Google [Bot], q.ignora, watchstar