Compiling issues OSX

Hi, i’m trying to compile kicad on OSX 10.15.5 with the kicad-mac-builder, using ./build.py --build-type=Debug and at 90% i get the following error.

Any tips??

[ 90%] Linking CXX shared module …/…/…/kicad/kicad.app/Contents/PlugIns/3d/libs3d_plugin_oce.so
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 loadmodel.cpp.o
opencascade::type_instance<Standard_Failure>::get() in loadmodel.cpp.o
opencascade::type_instance<Standard_Transient>::get() in loadmodel.cpp.o
opencascade::type_instance<Standard_TypeMismatch>::get() in loadmodel.cpp.o
opencascade::type_instance<Standard_NoSuchObject>::get() in loadmodel.cpp.o
opencascade::type_instance<Standard_RangeError>::get() in loadmodel.cpp.o
opencascade::type_instance<Standard_OutOfRange>::get() in loadmodel.cpp.o

“Standard_Failure::~Standard_Failure()”, referenced from:
Standard_DomainError::~Standard_DomainError() in loadmodel.cpp.o
“NCollection_BaseMap::Destroy(void ()(NCollection_ListNode, opencascade::handle<NCollection_BaseAllocator>&), bool)”, referenced from:
NCollection_DataMap<opencascade::handle<Standard_Transient>, TDF_Label, NCollection_DefaultHasher<opencascade::handle<Standard_Transient> > >::Clear(bool) in loadmodel.cpp.o
NCollection_DataMap<TCollection_AsciiString, opencascade::handle<STEPCAFControl_ExternFile>, NCollection_DefaultHasher<TCollection_AsciiString> >::Clear(bool) in loadmodel.cpp.o
“IGESCAFControl_Reader::Transfer(opencascade::handle<TDocStd_Document>&)”, referenced from:
readIGES(opencascade::handle<TDocStd_Document>&, char const*) in loadmodel.cpp.o
“STEPCAFControl_Reader::Transfer(opencascade::handle<TDocStd_Document>&)”, referenced from:
readSTEP(opencascade::handle<TDocStd_Document>&, char const*) in loadmodel.cpp.o
“TCollection_AsciiString::~TCollection_AsciiString()”, referenced from:
NCollection_DataMap<TCollection_AsciiString, opencascade::handle<STEPCAFControl_ExternFile>, NCollection_DefaultHasher<TCollection_AsciiString> >::DataMapNode::~DataMapNode() in loadmodel.cpp.o
“NCollection_BaseSequence::ClearSeq(void ()(NCollection_SeqNode, opencascade::handle<NCollection_BaseAllocator>&))”, referenced from:
NCollection_Sequence<TopoDS_Shape>::Clear(opencascade::handle<NCollection_BaseAllocator> const&) in loadmodel.cpp.o
NCollection_Sequence<opencascade::handle<Standard_Transient> >::Clear(opencascade::handle<NCollection_BaseAllocator> const&) in loadmodel.cpp.o
NCollection_Sequence<TDF_Label>::Clear(opencascade::handle<NCollection_BaseAllocator> const&) in loadmodel.cpp.o
“TCollection_ExtendedString::~TCollection_ExtendedString()”, referenced from:
LoadModel(char const*) in loadmodel.cpp.o
“Standard_Failure::GetMessageString() const”, referenced from:
vtable for Standard_TypeMismatch in loadmodel.cpp.o
vtable for Standard_DomainError in loadmodel.cpp.o
vtable for Standard_NoSuchObject in loadmodel.cpp.o
vtable for Standard_OutOfRange in loadmodel.cpp.o
vtable for Standard_RangeError in loadmodel.cpp.o
“XCAFDoc_ShapeTool::GetFreeShapes(NCollection_Sequence<TDF_Label>&) const”, referenced from:
LoadModel(char const*) in loadmodel.cpp.o
“Standard_Transient::DecrementRefCounter() const”, referenced from:
opencascade::handle<NCollection_BaseAllocator>::EndScope() in loadmodel.cpp.o
opencascade::handle<XSControl_WorkSession>::EndScope() in loadmodel.cpp.o
opencascade::handle<Standard_Transient>::EndScope() in loadmodel.cpp.o
opencascade::handle<STEPCAFControl_ExternFile>::EndScope() in loadmodel.cpp.o
opencascade::handle<TDocStd_Document>::EndScope() in loadmodel.cpp.o
opencascade::handle<TopoDS_TShape>::EndScope() in loadmodel.cpp.o
opencascade::handle<Standard_Type>::EndScope() in loadmodel.cpp.o

“Standard_Transient::IncrementRefCounter() const”, referenced from:
opencascade::handle<NCollection_BaseAllocator>::BeginScope() in loadmodel.cpp.o
opencascade::handle<Standard_Type>::BeginScope() in loadmodel.cpp.o
opencascade::handle<Poly_Triangulation>::BeginScope() in loadmodel.cpp.o
“vtable for STEPCAFControl_Reader”, referenced from:
STEPCAFControl_Reader::~STEPCAFControl_Reader() in loadmodel.cpp.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[5]: *** [kicad/kicad.app/Contents/PlugIns/3d/libs3d_plugin_oce.so] Error 1
make[4]: *** [plugins/3d/oce/CMakeFiles/s3d_plugin_oce.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [kicad/src/kicad-stamp/kicad-build] Error 2
make[1]: *** [CMakeFiles/kicad.dir/all] Error 2
make: *** [all] Error 2
Error while running make after rebuilding with a single job. Please report this issue if you cannot fix it after reading the README.
build.py argument summary:
build_type: Debug
docs_tarball_url: http://docs.kicad-pcb.org/kicad-doc-HEAD.tar.gz
extra_version: None
footprints_ref: origin/master
jobs: 1
kicad_git_url: https://gitlab.com/kicad/code/kicad.git
kicad_ref: origin/master
kicad_source_dir: None
macos_min_version: 10.15
packages3d_ref: origin/master
release: False
release_name: None
retry_failed_build: True
symbols_ref: origin/master
target: []
templates_ref: origin/master
translations_ref: origin/master

What exact hardware / vm are you building on?

OSX installed on my laptop as primary OS, a latitude e7450, without VM. It has an Intel Core I7, not sure the exact version but I can check

I am not sure why tou are trying to build from source, but I have seen similar issues when running macos in qemu on xeon hardware. I am not sure how to fix it, but I have not seen the issue with opencascade before.

I think you are on your own. :frowning:

I would like to try and see if I’m able to contribute with the “starter” issues, and i think compiling would be a requirement xD.

Did you use the bootstrap script in ci/src to install the dependencies?

Yep. Although I had a problem that I didn’t notice at first with opencascade, that it needed to be linked.

As suggested on the error message I also tried compiling with -j 1, but as I expected there was no difference on the resulting error.