← Back to team overview

yade-users team mailing list archive

[Question #660024]: Chunksize use and compilation errors

 

New question #660024 on Yade:
https://answers.launchpad.net/yade/+question/660024

Hello,

I just tried (for the first time....) to play with chunksize for source compilation. I downloaded the source code as of today, defined one cmake option as -DCHUNKSIZE=X (I tested for now X=1, 2, 4, 8) and enjoyed to see "-- CHUNKSIZE is set to X" in cmake output.

This being said, most of my "make install" (with -j Y, Y = 1, 2, 4 or 8) then faced compilation errors, depending on X (the chunksize value)

E.g., for X = chunksize = 8
[ 11%] Building CXX object CMakeFiles/yade.dir/pkg.4.cpp.o
In file included from /usr/include/CGAL/boost/graph/iterator.h:28:0,
                 from /usr/include/CGAL/boost/graph/graph_traits_HalfedgeDS.h:34,
                 from /usr/include/CGAL/boost/graph/graph_traits_Polyhedron_3.h:23,
                 from /usr/include/CGAL/Polyhedron_3.h:1540,
                 from /home/jerome.duriez/Yade/myTrunk/pkg/dem/Polyhedra.hpp:28,
                 from /home/jerome.duriez/Yade/myTrunk/pkg/dem/Polyhedra.cpp:9,
                 from /home/jerome.duriez/Yade/myBuild/pkg.4.cpp:5:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:975:21: error: ‘boost::Q_FOREACH’ has not been declared
 #    define foreach Q_FOREACH


Or , for X = chunksize = 4
[ 50%] Linking CXX shared library lib/x86_64-linux-gnu/libyade.so
CMakeFiles/yade.dir/lib.5.cpp.o: In function `Real_timer::Real_timer()':
lib.5.cpp:(.text+0x160): multiple definition of `Real_timer::Real_timer()'
CMakeFiles/yade.dir/lib.10.cpp.o:lib.10.cpp:(.text+0x0): first defined here
CMakeFiles/yade.dir/lib.5.cpp.o: In function `Real_timer::Real_timer()':
lib.5.cpp:(.text+0x160): multiple definition of `Real_timer::Real_timer()'
CMakeFiles/yade.dir/lib.10.cpp.o:lib.10.cpp:(.text+0x0): first defined here
(and plenty of other multiple definition errors)


I think compilation completed successfully only once with chunksize>1 (for chunksize=2), with a comparable/identical compilation time than chunksize=1, which was also a disappointment.
Anyway, I start to doubt about this one: I actually wonder whether compilation could be chunksize-path-dependent ?... (in some aspects like the live output, at least)


Needless to say that the compilation of the exact same code completes successfully when chunksize = 1...


Would you have any explanations / advices ? Thanks,

Jérôme

PS: cmake version 3.5.1, and ubuntu 16.04




-- 
You received this question notification because your team yade-users is
an answer contact for Yade.