[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