← Back to team overview

kicad-developers team mailing list archive

build failure

 

I'm having trouble building on mac after enabling OCC.
I had both OCC and OCE disabled and I assume that's why 3D viewer
didn't show STEP models any more.
I installed OCC 7.5.0 using homebrew 'opencascade' formula.
Is it possible to disable just kicad2step?

[ 30%] Linking CXX static library libkicad2step_lib.a
[ 30%] Built target kicad2step_lib
[ 30%] Building CXX object
3d-viewer/3d_cache/sg/CMakeFiles/kicad_3dsg.dir/ifsg_faceset.cpp.o
[ 30%] Building CXX object
libs/kimath/CMakeFiles/kimath.dir/src/geometry/shape_poly_set.cpp.o
[ 30%] Building CXX object
utils/kicad2step/CMakeFiles/kicad2step.dir/kicad2step.cpp.o
[ 30%] Building CXX object
3d-viewer/3d_cache/sg/CMakeFiles/kicad_3dsg.dir/ifsg_normals.cpp.o
[ 30%] Building CXX object
3d-viewer/3d_cache/sg/CMakeFiles/kicad_3dsg.dir/ifsg_shape.cpp.o
[ 30%] Building CXX object
libs/kimath/CMakeFiles/kimath.dir/src/geometry/shape_rect.cpp.o
[ 30%] Linking CXX executable ../../kicad/KiCad.app/Contents/MacOS/kicad2step
Undefined symbols for architecture x86_64:
  "Standard_Type::Register(char const*, char const*, unsigned long,
opencascade::handle<Standard_Type> const&)", referenced from:
      opencascade::type_instance<Standard_DomainError>::get() in
libkicad2step_lib.a(oce_utils.cpp.o)
      opencascade::type_instance<Standard_Failure>::get() in
libkicad2step_lib.a(oce_utils.cpp.o)
      opencascade::type_instance<Standard_Transient>::get() in
libkicad2step_lib.a(oce_utils.cpp.o)
      opencascade::type_instance<Standard_ConstructionError>::get() in
libkicad2step_lib.a(oce_utils.cpp.o)
      opencascade::type_instance<Standard_RangeError>::get() in
libkicad2step_lib.a(oce_utils.cpp.o)
      opencascade::type_instance<Standard_OutOfRange>::get() in
libkicad2step_lib.a(oce_utils.cpp.o)
  "Quantity_Color::valuesOf(Quantity_NameOfColor,
Quantity_TypeOfColor)", referenced from:
      PCBMODEL::transferModel(opencascade::handle<TDocStd_Document>&,
opencascade::handle<TDocStd_Document>&, TRIPLET) in
libkicad2step_lib.a(oce_utils.cpp.o)
  "BRepLib_Command::~BRepLib_Command()", referenced from:
      BRepLib_MakeShape::~BRepLib_MakeShape() in
libkicad2step_lib.a(oce_utils.cpp.o)
  "BRepAlgoAPI_Algo::Shape()", referenced from:
      PCBMODEL::CreatePCB() in libkicad2step_lib.a(oce_utils.cpp.o)
  "Geom_BezierCurve::Geom_BezierCurve(NCollection_Array1<gp_Pnt>
const&)", referenced from:
      OUTLINE::addEdge(BRepBuilderAPI_MakeWire*, KICADCURVE&,
DOUBLET&) in libkicad2step_lib.a(oce_utils.cpp.o)
  "Standard_Failure::~Standard_Failure()", referenced from:
      Standard_ConstructionError::~Standard_ConstructionError() in
libkicad2step_lib.a(oce_utils.cpp.o)
      Standard_ConstructionError::~Standard_ConstructionError() in
libkicad2step_lib.a(oce_utils.cpp.o)
      Standard_OutOfMemory::~Standard_OutOfMemory() in
libkicad2step_lib.a(oce_utils.cpp.o)
      Standard_OutOfRange::~Standard_OutOfRange() in
libkicad2step_lib.a(oce_utils.cpp.o)
      Standard_OutOfRange::~Standard_OutOfRange() in
libkicad2step_lib.a(oce_utils.cpp.o)
  "XCAFDoc_ShapeTool::AddComponent(TDF_Label const&, TDF_Label const&,
TopLoc_Location const&)", referenced from:
      PCBMODEL::AddComponent(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > const&, bool, DOUBLET, double, TRIPLET,
TRIPLET, TRIPLET) in libkicad2step_lib.a(oce_utils.cpp.o)
  "XCAFDoc_ShapeTool::UpdateAssemblies()", referenced from:
      PCBMODEL::CreatePCB() in libkicad2step_lib.a(oce_utils.cpp.o)
  "NCollection_BaseMap::Destroy(void (*)(NCollection_ListNode*,
opencascade::handle<NCollection_BaseAllocator>&), bool)", referenced
from:
      BRepTools_Modifier::~BRepTools_Modifier() in
libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_Map<TopoDS_Shape,
TopTools_ShapeMapHasher>::~NCollection_Map() in
libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_DataMap<TopoDS_Face,
BRepTools_Modifier::NewSurfaceInfo,
TopTools_ShapeMapHasher>::~NCollection_DataMap() in
libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_DataMap<TopoDS_Edge,
BRepTools_Modifier::NewCurveInfo,
TopTools_ShapeMapHasher>::~NCollection_DataMap() in
libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_DataMap<TopoDS_Shape, TopoDS_Shape,
TopTools_ShapeMapHasher>::~NCollection_DataMap() in
libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_Map<TopoDS_Shape,
TopTools_ShapeMapHasher>::~NCollection_Map() in
libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_DataMap<TopoDS_Face,
BRepTools_Modifier::NewSurfaceInfo,
TopTools_ShapeMapHasher>::~NCollection_DataMap() in
libkicad2step_lib.a(oce_utils.cpp.o)
      ...
  "NCollection_BaseList::PClear(void (*)(NCollection_ListNode*,
opencascade::handle<NCollection_BaseAllocator>&))", referenced from:
      PCBMODEL::CreatePCB() in libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_List<TopoDS_Shape>::~NCollection_List() in
libkicad2step_lib.a(oce_utils.cpp.o)
      BRepBuilderAPI_MakeShape::~BRepBuilderAPI_MakeShape() in
libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_List<TopoDS_Shape>::Assign(NCollection_List<TopoDS_Shape>
const&) in libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_DataMap<TopoDS_Shape,
NCollection_List<TopoDS_Shape>,
TopTools_ShapeMapHasher>::DataMapNode::~DataMapNode() in
libkicad2step_lib.a(oce_utils.cpp.o)
      BRepLib_MakeShape::~BRepLib_MakeShape() in
libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_List<TopoDS_Shape>::~NCollection_List() in
libkicad2step_lib.a(oce_utils.cpp.o)
      ...
  "Standard_OutOfMemory::Standard_OutOfMemory(char const*)", referenced from:
      OUTLINE::addEdge(BRepBuilderAPI_MakeWire*, KICADCURVE&,
DOUBLET&) in libkicad2step_lib.a(oce_utils.cpp.o)
  "IGESCAFControl_Reader::Transfer(opencascade::handle<TDocStd_Document>&,
Message_ProgressRange const&)", referenced from:
      PCBMODEL::readIGES(opencascade::handle<TDocStd_Document>&, char
const*) in libkicad2step_lib.a(oce_utils.cpp.o)
  "STEPCAFControl_Reader::Transfer(opencascade::handle<TDocStd_Document>&,
Message_ProgressRange const&)", referenced from:
      PCBMODEL::readSTEP(opencascade::handle<TDocStd_Document>&, char
const*) in libkicad2step_lib.a(oce_utils.cpp.o)
  "STEPCAFControl_Reader::~STEPCAFControl_Reader()", referenced from:
      PCBMODEL::readSTEP(opencascade::handle<TDocStd_Document>&, char
const*) in libkicad2step_lib.a(oce_utils.cpp.o)
  "STEPCAFControl_Writer::Transfer(opencascade::handle<TDocStd_Document>
const&, STEPControl_StepModelType, char const*, Message_ProgressRange
const&)", referenced from:
      PCBMODEL::WriteSTEP(wxString const&) in
libkicad2step_lib.a(oce_utils.cpp.o)
  "BRepBuilderAPI_Command::~BRepBuilderAPI_Command()", referenced from:
      BRepBuilderAPI_MakeShape::~BRepBuilderAPI_MakeShape() in
libkicad2step_lib.a(oce_utils.cpp.o)
  "BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(opencascade::handle<Geom_Curve>
const&)", referenced from:
      OUTLINE::addEdge(BRepBuilderAPI_MakeWire*, KICADCURVE&,
DOUBLET&) in libkicad2step_lib.a(oce_utils.cpp.o)
  "BRepBuilderAPI_MakeEdge::operator TopoDS_Edge()", referenced from:
      OUTLINE::addEdge(BRepBuilderAPI_MakeWire*, KICADCURVE&,
DOUBLET&) in libkicad2step_lib.a(oce_utils.cpp.o)
  "BRepBuilderAPI_MakeWire::operator TopoDS_Wire()", referenced from:
      OUTLINE::MakeShape(TopoDS_Shape&, double) in
libkicad2step_lib.a(oce_utils.cpp.o)
  "TCollection_AsciiString::~TCollection_AsciiString()", referenced from:
      NCollection_DataMap<TCollection_AsciiString,
opencascade::handle<STEPCAFControl_ExternFile>,
NCollection_DefaultHasher<TCollection_AsciiString>
>::DataMapNode::delNode(NCollection_ListNode*,
opencascade::handle<NCollection_BaseAllocator>&) in
libkicad2step_lib.a(oce_utils.cpp.o)
  "BRepBuilderAPI_MakeShape::Shape()", referenced from:
      PCBMODEL::AddPadHole(KICADPAD const*) in
libkicad2step_lib.a(oce_utils.cpp.o)
      PCBMODEL::transferModel(opencascade::handle<TDocStd_Document>&,
opencascade::handle<TDocStd_Document>&, TRIPLET) in
libkicad2step_lib.a(oce_utils.cpp.o)
  "BRepBuilderAPI_MakeShape::operator TopoDS_Shape()", referenced from:
      OUTLINE::MakeShape(TopoDS_Shape&, double) in
libkicad2step_lib.a(oce_utils.cpp.o)
  "NCollection_BaseSequence::ClearSeq(void (*)(NCollection_SeqNode*,
opencascade::handle<NCollection_BaseAllocator>&))", referenced from:
      PCBMODEL::transferModel(opencascade::handle<TDocStd_Document>&,
opencascade::handle<TDocStd_Document>&, TRIPLET) in
libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_Sequence<TDF_Label>::~NCollection_Sequence() in
libkicad2step_lib.a(oce_utils.cpp.o)
      XSControl_Reader::~XSControl_Reader() in
libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_Sequence<TopoDS_Shape>::~NCollection_Sequence() in
libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_Sequence<opencascade::handle<Standard_Transient>
>::~NCollection_Sequence() in libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_Sequence<TopoDS_Shape>::~NCollection_Sequence() in
libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_Sequence<opencascade::handle<Standard_Transient>
>::~NCollection_Sequence() in libkicad2step_lib.a(oce_utils.cpp.o)
      ...
  "TCollection_ExtendedString::~TCollection_ExtendedString()", referenced from:
      PCBMODEL::PCBMODEL() in libkicad2step_lib.a(oce_utils.cpp.o)
      PCBMODEL::AddComponent(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > const&, bool, DOUBLET, double, TRIPLET,
TRIPLET, TRIPLET) in libkicad2step_lib.a(oce_utils.cpp.o)
      PCBMODEL::getModelLabel(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
TRIPLET, TDF_Label&) in libkicad2step_lib.a(oce_utils.cpp.o)
  "APIHeaderSection_MakeHeader::SetAuthorValue(int,
opencascade::handle<TCollection_HAsciiString> const&)", referenced
from:
      PCBMODEL::WriteSTEP(wxString const&) in
libkicad2step_lib.a(oce_utils.cpp.o)
  "APIHeaderSection_MakeHeader::SetDescriptionValue(int,
opencascade::handle<TCollection_HAsciiString> const&)", referenced
from:
      PCBMODEL::WriteSTEP(wxString const&) in
libkicad2step_lib.a(oce_utils.cpp.o)
  "APIHeaderSection_MakeHeader::SetOrganizationValue(int,
opencascade::handle<TCollection_HAsciiString> const&)", referenced
from:
      PCBMODEL::WriteSTEP(wxString const&) in
libkicad2step_lib.a(oce_utils.cpp.o)
  "APIHeaderSection_MakeHeader::SetOriginatingSystem(opencascade::handle<TCollection_HAsciiString>
const&)", referenced from:
      PCBMODEL::WriteSTEP(wxString const&) in
libkicad2step_lib.a(oce_utils.cpp.o)
  "APIHeaderSection_MakeHeader::SetName(opencascade::handle<TCollection_HAsciiString>
const&)", referenced from:
      PCBMODEL::WriteSTEP(wxString const&) in
libkicad2step_lib.a(oce_utils.cpp.o)
  "APIHeaderSection_MakeHeader::APIHeaderSection_MakeHeader(opencascade::handle<StepData_StepModel>
const&)", referenced from:
      PCBMODEL::WriteSTEP(wxString const&) in
libkicad2step_lib.a(oce_utils.cpp.o)
  "Standard_Failure::GetMessageString() const", referenced from:
      vtable for Standard_ConstructionError in
libkicad2step_lib.a(oce_utils.cpp.o)
      vtable for Standard_OutOfRange in libkicad2step_lib.a(oce_utils.cpp.o)
  "XCAFDoc_ShapeTool::GetFreeShapes(NCollection_Sequence<TDF_Label>&)
const", referenced from:
      PCBMODEL::transferModel(opencascade::handle<TDocStd_Document>&,
opencascade::handle<TDocStd_Document>&, TRIPLET) in
libkicad2step_lib.a(oce_utils.cpp.o)
  "Standard_Transient::DecrementRefCounter() const", referenced from:
      PCBMODEL::PCBMODEL() in libkicad2step_lib.a(oce_utils.cpp.o)
      opencascade::handle<XCAFApp_Application>::~handle() in
libkicad2step_lib.a(oce_utils.cpp.o)
      opencascade::handle<XCAFDoc_ShapeTool>::~handle() in
libkicad2step_lib.a(oce_utils.cpp.o)
      opencascade::handle<TDocStd_Document>::~handle() in
libkicad2step_lib.a(oce_utils.cpp.o)
      PCBMODEL::~PCBMODEL() in libkicad2step_lib.a(oce_utils.cpp.o)
      PCBMODEL::AddPadHole(KICADPAD const*) in
libkicad2step_lib.a(oce_utils.cpp.o)
      std::__1::vector<TopoDS_Shape, std::__1::allocator<TopoDS_Shape>
>::push_back(TopoDS_Shape const&) in
libkicad2step_lib.a(oce_utils.cpp.o)
      ...
  "Standard_Transient::IncrementRefCounter() const", referenced from:
      PCBMODEL::AddPadHole(KICADPAD const*) in
libkicad2step_lib.a(oce_utils.cpp.o)
      std::__1::vector<TopoDS_Shape, std::__1::allocator<TopoDS_Shape>
>::push_back(TopoDS_Shape const&) in
libkicad2step_lib.a(oce_utils.cpp.o)
      PCBMODEL::CreatePCB() in libkicad2step_lib.a(oce_utils.cpp.o)
      NCollection_List<TopoDS_Shape>::Append(TopoDS_Shape const&) in
libkicad2step_lib.a(oce_utils.cpp.o)
      PCBMODEL::WriteSTEP(wxString const&) in
libkicad2step_lib.a(oce_utils.cpp.o)
      PCBMODEL::transferModel(opencascade::handle<TDocStd_Document>&,
opencascade::handle<TDocStd_Document>&, TRIPLET) in
libkicad2step_lib.a(oce_utils.cpp.o)
      OUTLINE::addEdge(BRepBuilderAPI_MakeWire*, KICADCURVE&,
DOUBLET&) in libkicad2step_lib.a(oce_utils.cpp.o)
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [kicad/KiCad.app/Contents/MacOS/kicad2step] Error 1
make[1]: *** [utils/kicad2step/CMakeFiles/kicad2step.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

-- 
/Jonatan
http://kymatica.com


Follow ups