[MOAB-dev] clang compilation problem

Lukasz Kaczmarczyk Lukasz.Kaczmarczyk at glasgow.ac.uk
Thu Dec 22 13:19:09 CST 2016


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