OCC Functions Error

Have anyone idea what could be wrong with OCC? CentOS Linux send me this error, but in openSuse 11.3 Linux work.

Compile Linux_gcc4.1_dbg/cadmodel.qrc.cc -> Linux_gcc4.1_dbg/cadmodel.qrc.lib.o
/home/skulovec/trimo/opencascade/ros/inc/TopTools_ListOfShape.hxx: In copy constructor ?BRepBuilderAPI_MakeShape::BRepBuilderAPI_MakeShape(const BRepBuilderAPI_MakeShape&)?:
/home/skulovec/trimo/opencascade/ros/inc/TopTools_ListOfShape.hxx:157: error: ?TopTools_ListOfShape::TopTools_ListOfShape(const TopTools_ListOfShape&)? is private
/home/skulovec/trimo/opencascade/ros/inc/BRepBuilderAPI_MakeShape.hxx:54: error: within this context
/home/skulovec/trimo/opencascade/ros/inc/BRepBuilderAPI_MakeWire.hxx: In copy constructor ?BRepBuilderAPI_MakeWire::BRepBuilderAPI_MakeWire(const BRepBuilderAPI_MakeWire&)?:
/home/skulovec/trimo/opencascade/ros/inc/BRepBuilderAPI_MakeWire.hxx:82: note: synthesized method ?BRepBuilderAPI_MakeShape::BRepBuilderAPI_MakeShape(const BRepBuilderAPI_MakeShape&)? first required here
/home/skulovec/trimo/opencascade/ros/inc/TopTools_ListOfShape.hxx: In copy constructor ?BRepLib_MakeShape::BRepLib_MakeShape(const BRepLib_MakeShape&)?:
/home/skulovec/trimo/opencascade/ros/inc/TopTools_ListOfShape.hxx:157: error: ?TopTools_ListOfShape::TopTools_ListOfShape(const TopTools_ListOfShape&)? is private
/home/skulovec/trimo/opencascade/ros/inc/BRepLib_MakeShape.hxx:62: error: within this context
/home/skulovec/trimo/opencascade/ros/inc/TopTools_ListOfShape.hxx:157: error: ?TopTools_ListOfShape::TopTools_ListOfShape(const TopTools_ListOfShape&)? is private
/home/skulovec/trimo/opencascade/ros/inc/BRepLib_MakeShape.hxx:62: error: within this context
/home/skulovec/trimo/opencascade/ros/inc/TopTools_ListOfShape.hxx:157: error: ?TopTools_ListOfShape::TopTools_ListOfShape(const TopTools_ListOfShape&)? is private
/home/skulovec/trimo/opencascade/ros/inc/BRepLib_MakeShape.hxx:62: error: within this context
/home/skulovec/trimo/opencascade/ros/inc/BRepLib_MakeWire.hxx: In copy constructor ?BRepLib_MakeWire::BRepLib_MakeWire(const BRepLib_MakeWire&)?:
/home/skulovec/trimo/opencascade/ros/inc/BRepLib_MakeWire.hxx:97: note: synthesized method ?BRepLib_MakeShape::BRepLib_MakeShape(const BRepLib_MakeShape&)? first required here
/home/skulovec/trimo/opencascade/ros/inc/TopTools_MapOfShape.hxx:122: error: ?TopTools_MapOfShape::TopTools_MapOfShape(const TopTools_MapOfShape&)? is private
/home/skulovec/trimo/opencascade/ros/inc/BRepLib_MakeWire.hxx:97: error: within this context
/home/skulovec/trimo/opencascade/ros/inc/BRepBuilderAPI_MakeWire.hxx: In copy constructor ?BRepBuilderAPI_MakeWire::BRepBuilderAPI_MakeWire(const BRepBuilderAPI_MakeWire&)?:
/home/skulovec/trimo/opencascade/ros/inc/BRepBuilderAPI_MakeWire.hxx:82: note: synthesized method ?BRepLib_MakeWire::BRepLib_MakeWire(const BRepLib_MakeWire&)? first required here
/home/skulovec/trimo/src/CadModel/MakeMeshStructure3.cc: In function ?void MeshStructure3::MakeEdgeStructure(OpenMesh::EdgeHandle, MeshStructureLayers, Handle_AIS_InteractiveContext, Handle_TDocStd_Document, MyMesh&, const MeshStructure3::EdgeNormal&, const MeshStructure3::HalfedgeNormal&, const MeshStructure3::EdgeOffset&, double)?:
/home/skulovec/trimo/src/CadModel/MakeMeshStructure3.cc:695: note: synthesized method ?BRepBuilderAPI_MakeWire::BRepBuilderAPI_MakeWire(const BRepBuilderAPI_MakeWire&)? first required here
make[2]: *** [Linux_gcc4.1_dbg/MakeMeshStructure3.lib.o] Error 1
make[1]: *** [local-build] Error 2
make[1]: Leaving directory `/home/skulovec/trimo/src/CadModel'
make: *** [subdir-build] Error 1

m-sazonov's picture

The problem is with that compiler. And with the class TCollection_List that has the private copy constructor (it was done intentionally). Majority of compilers do not use copy constructor of fields in the synthesized copy constructor of the class-container (BRepBuilderAPI_MakeShape in our case).