← Back to team overview

yade-users team mailing list archive

Re: [Question #660024]: Chunksize use and compilation errors

 

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

    Status: Open => Answered

Anton Gladky proposed the following answer:
Hi,

you can compare lib5.cpp and and lib10.cpp and try to find the
identical lines there.

Anton


2017-10-26 18:10 GMT+02:00 Jérôme Duriez <question660024@xxxxxxxxxxxxxxxxxxxxx>:
> 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.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp

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