[MOAB-dev] clang compilation problem
Lukasz Kaczmarczyk
Lukasz.Kaczmarczyk at glasgow.ac.uk
Thu Dec 22 14:47:56 CST 2016
Hello,
I found the problem, in a compiler, include path I had a path to older moab version, and Matrix3.hpp from older version was included.
My error, sorry for this.
Regards,
L
> On 22 Dec 2016, at 19:19, Lukasz Kaczmarczyk <Lukasz.Kaczmarczyk at glasgow.ac.uk> wrote:
>
> Hello,
>
> I spot compilation problem with clang and mac os x. On gcc works ok, with clang I have following error. Is is hard to me to understand what is wrong.
>
> Error is for develop and master branch,
>
> CXX OrientedBoxTreeTool.lo
> In file included from OrientedBox.cpp:36:
> ./moab/OrientedBox.hpp:244:15: error: no member named 'col' in 'moab::Matrix3'
> return axes.col(index);
> ~~~~ ^
> ./moab/OrientedBox.hpp:250:31: error: no member named 'col' in 'moab::Matrix3'
> return length[index] * axes.col(index);
> ~~~~ ^
> OrientedBox.cpp:48:22: error: no member named 'col' in 'moab::Matrix3'
> << b.axes.col(0)
> ~~~~~~ ^
> OrientedBox.cpp:53:22: error: no member named 'col' in 'moab::Matrix3'
> << b.axes.col(1)
> ~~~~~~ ^
> OrientedBox.cpp:58:22: error: no member named 'col' in 'moab::Matrix3'
> << b.axes.col(2)
> ~~~~~~ ^
> OrientedBox.cpp:97:7: error: no member named 'swapcol' in 'moab::Matrix3'
> axes.swapcol( 0, 2 );
> ~~~~ ^
> OrientedBox.cpp:102:10: error: no member named 'swapcol' in 'moab::Matrix3'
> axes.swapcol( 0, 1 );
> ~~~~ ^
> OrientedBox.cpp:106:10: error: no member named 'swapcol' in 'moab::Matrix3'
> axes.swapcol( 1, 2 );
> ~~~~ ^
> OrientedBox.cpp:112:12: error: no member named 'colscale' in 'moab::Matrix3'
> axes.colscale(0, 1.0/len[0]);
> ~~~~ ^
> OrientedBox.cpp:114:12: error: no member named 'colscale' in 'moab::Matrix3'
> axes.colscale(1, 1.0/len[1]);
> ~~~~ ^
> OrientedBox.cpp:116:12: error: no member named 'colscale' in 'moab::Matrix3'
> axes.colscale(2 ,1.0/len[2]);
> ~~~~ ^
> OrientedBox.cpp:128:10: error: no matching constructor for initialization of 'moab::Matrix3'
> axes = Matrix3( axes_in[0], axes_in[1], axes_in[2], false );
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /opt/petsc/arch-darwin-c-opt/include/moab/Matrix3.hpp:298:10: note: candidate constructor template not viable: requires single argument 'diagonal', but 4 arguments were provided
> inline Matrix3( const std::vector< T> & diagonal ){
> ^
> /opt/petsc/arch-darwin-c-opt/include/moab/Matrix3.hpp:320:10: note: candidate constructor template not viable: requires 3 arguments, but 4 were provided
> inline Matrix3( const Vector & row0,
> ^
> /opt/petsc/arch-darwin-c-opt/include/moab/Matrix3.hpp:280:10: note: candidate constructor not viable: requires single argument 'diagonal', but 4 arguments were provided
> inline Matrix3( double diagonal ){
> ^
> /opt/petsc/arch-darwin-c-opt/include/moab/Matrix3.hpp:285:10: note: candidate constructor not viable: requires single argument 'diagonal', but 4 arguments were provided
> inline Matrix3( const CartVect & diagonal ){
> ^
> /opt/petsc/arch-darwin-c-opt/include/moab/Matrix3.hpp:315:3: note: candidate constructor not viable: requires single argument 'f', but 4 arguments were provided
> Matrix3 ( const Matrix3 & f){
> ^
> /opt/petsc/arch-darwin-c-opt/include/moab/Matrix3.hpp:330:10: note: candidate constructor not viable: requires single argument 'v', but 4 arguments were provided
> inline Matrix3( const double* v ){
> ^
> /opt/petsc/arch-darwin-c-opt/include/moab/Matrix3.hpp:275:10: note: candidate constructor not viable: requires 0 arguments, but 4 were provided
> inline Matrix3(){
> ^
> /opt/petsc/arch-darwin-c-opt/include/moab/Matrix3.hpp:306:8: note: candidate constructor not viable: requires 9 arguments, but 4 were provided
> inline Matrix3( double v00, double v01, double v02,
> ^
> OrientedBox.cpp:137:30: error: no member named 'col' in 'moab::Matrix3'
> order_axes_by_length( axes.col(0).length(), axes.col(1).length(), axes.col(2).length() );
> ~~~~ ^
> OrientedBox.cpp:137:52: error: no member named 'col' in 'moab::Matrix3'
> order_axes_by_length( axes.col(0).length(), axes.col(1).length(), axes.col(2).length() );
> ~~~~ ^
> OrientedBox.cpp:137:74: error: no member named 'col' in 'moab::Matrix3'
> order_axes_by_length( axes.col(0).length(), axes.col(1).length(), axes.col(2).length() );
> ~~~~ ^
> OrientedBox.cpp:191:71: error: no member named 'col' in 'moab::Matrix3'
> const double t = point_perp( coords, result.center, result.axes.col(d) );
> ~~~~~~~~~~~ ^
> OrientedBox.cpp:206:41: error: no member named 'col' in 'moab::Matrix3'
> result.center += mid[0] * result.axes.col(0) +
> ~~~~~~~~~~~ ^
> OrientedBox.cpp:207:41: error: no member named 'col' in 'moab::Matrix3'
> mid[1] * result.axes.col(1) +
> ~~~~~~~~~~~ ^
> OrientedBox.cpp:208:41: error: no member named 'col' in 'moab::Matrix3'
> mid[2] * result.axes.col(2);
> ~~~~~~~~~~~ ^
> fatal error: too many errors emitted, stopping now [-ferror-limit=]
> 20 errors generated.
> make[2]: *** [OrientedBox.lo] Error 1
> make[2]: *** Waiting for unfinished jobs....
> OrientedBoxTreeTool.cpp:364:18: error: called object type 'moab::CartVect [3]' is not a function or function pointer
> if ((box.axis(axis) % (centroid - box.center)) < 0.0)
> ~~~~~~~~^
> OrientedBoxTreeTool.cpp:384:15: error: no matching constructor for initialization of 'moab::OrientedBox'
> tmp_box = OrientedBox( axis, CartVect(0.) );
> ^ ~~~~~~~~~~~~~~~~~~
> /opt/petsc/arch-darwin-c-opt/include/moab/OrientedBox.hpp:54:3: note: candidate constructor not viable: no known conversion from 'moab::Matrix3' to 'const moab::CartVect *' for 1st argument
> OrientedBox( const CartVect axis[3], const CartVect& center );
> ^
> /opt/petsc/arch-darwin-c-opt/include/moab/OrientedBox.hpp:40:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
> class OrientedBox
> ^
> /opt/petsc/arch-darwin-c-opt/include/moab/OrientedBox.hpp:52:10: note: candidate constructor not viable: requires 0 arguments, but 2 were provided
> inline OrientedBox() : radius(0.0) {}
> ^
> OrientedBoxTreeTool.cpp:475:18: error: called object type 'moab::CartVect [3]' is not a function or function pointer
> if ((box.axis(axis) % (centroid - box.center)) < 0.0)
> ~~~~~~~~^
> OrientedBoxTreeTool.cpp:1918:34: error: called object type 'moab::CartVect [3]' is not a function or function pointer
> << '+' << box.axis(0) << " : " << length[0] << std::endl
> ~~~~~~~~^
> OrientedBoxTreeTool.cpp:1919:34: error: called object type 'moab::CartVect [3]' is not a function or function pointer
> << 'x' << box.axis(1) << " : " << length[1] << std::endl
> ~~~~~~~~^
> OrientedBoxTreeTool.cpp:1920:34: error: called object type 'moab::CartVect [3]' is not a function or function pointer
> << 'x' << box.axis(2) << " : " << length[2] << std::endl;
> ~~~~~~~~^
> 6 errors generated.
> make[2]: *** [OrientedBoxTreeTool.lo] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all-recursive] Error 1
More information about the moab-dev
mailing list