Hey, thanks guys.
First I tried forcing the build to use Python 2.7, but it crashes anyway:
[ 98%] Linking CXX shared library ../../lib/libPyMVA.so
ld: warning: ignoring file /Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
Undefined symbols for architecture arm64:
"_PyCObject_AsVoidPtr", referenced from:
TMVA::MethodPyAdaBoost::Init() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyGTB::Init() in MethodPyGTB.cxx.o
TMVA::MethodPyKeras::Init() in MethodPyKeras.cxx.o
TMVA::MethodPyRandomForest::Init() in MethodPyRandomForest.cxx.o
TMVA::MethodPyTorch::Init() in MethodPyTorch.cxx.o
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_PyCObject_Type", referenced from:
TMVA::MethodPyAdaBoost::Init() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyGTB::Init() in MethodPyGTB.cxx.o
TMVA::MethodPyKeras::Init() in MethodPyKeras.cxx.o
TMVA::MethodPyRandomForest::Init() in MethodPyRandomForest.cxx.o
TMVA::MethodPyTorch::Init() in MethodPyTorch.cxx.o
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_PyDict_GetItemString", referenced from:
TMVA::MethodPyAdaBoost::Train() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyGTB::Train() in MethodPyGTB.cxx.o
TMVA::MethodPyKeras::SetupKerasModel(bool) in MethodPyKeras.cxx.o
TMVA::MethodPyKeras::GetKerasBackend() in MethodPyKeras.cxx.o
TMVA::MethodPyKeras::Train() in MethodPyKeras.cxx.o
TMVA::MethodPyKeras::GetMvaValues(long long, long long, bool) in MethodPyKeras.cxx.o
TMVA::MethodPyRandomForest::Train() in MethodPyRandomForest.cxx.o
...
"_PyDict_New", referenced from:
TMVA::PyMethodBase::PyMethodBase(TString const&, TMVA::Types::EMVA, TString const&, TMVA::DataSetInfo&, TString const&) in PyMethodBase.cxx.o
TMVA::PyMethodBase::PyMethodBase(TMVA::Types::EMVA, TMVA::DataSetInfo&, TString const&) in PyMethodBase.cxx.o
"_PyDict_SetItemString", referenced from:
TMVA::MethodPyAdaBoost::ProcessOptions() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyAdaBoost::Train() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyAdaBoost::ReadModelFromFile() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyGTB::ProcessOptions() in MethodPyGTB.cxx.o
TMVA::MethodPyGTB::Train() in MethodPyGTB.cxx.o
TMVA::MethodPyGTB::ReadModelFromFile() in MethodPyGTB.cxx.o
TMVA::MethodPyKeras::SetupKerasModel(bool) in MethodPyKeras.cxx.o
...
"_PyErr_Format", referenced from:
TMVA::MethodPyAdaBoost::Init() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyGTB::Init() in MethodPyGTB.cxx.o
TMVA::MethodPyKeras::Init() in MethodPyKeras.cxx.o
TMVA::MethodPyRandomForest::Init() in MethodPyRandomForest.cxx.o
TMVA::MethodPyTorch::Init() in MethodPyTorch.cxx.o
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_PyErr_Print", referenced from:
TMVA::PyMethodBase::PyRunString(TString, TString, int) in PyMethodBase.cxx.o
"_PyErr_SetString", referenced from:
TMVA::MethodPyAdaBoost::Init() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyGTB::Init() in MethodPyGTB.cxx.o
TMVA::MethodPyKeras::Init() in MethodPyKeras.cxx.o
TMVA::MethodPyRandomForest::Init() in MethodPyRandomForest.cxx.o
TMVA::MethodPyTorch::Init() in MethodPyTorch.cxx.o
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_PyExc_AttributeError", referenced from:
TMVA::MethodPyAdaBoost::Init() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyGTB::Init() in MethodPyGTB.cxx.o
TMVA::MethodPyKeras::Init() in MethodPyKeras.cxx.o
TMVA::MethodPyRandomForest::Init() in MethodPyRandomForest.cxx.o
TMVA::MethodPyTorch::Init() in MethodPyTorch.cxx.o
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_PyExc_RuntimeError", referenced from:
TMVA::MethodPyAdaBoost::Init() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyGTB::Init() in MethodPyGTB.cxx.o
TMVA::MethodPyKeras::Init() in MethodPyKeras.cxx.o
TMVA::MethodPyRandomForest::Init() in MethodPyRandomForest.cxx.o
TMVA::MethodPyTorch::Init() in MethodPyTorch.cxx.o
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_PyGILState_Ensure", referenced from:
TMVA::MethodPyAdaBoost::Init() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyGTB::Init() in MethodPyGTB.cxx.o
TMVA::MethodPyKeras::Init() in MethodPyKeras.cxx.o
TMVA::MethodPyRandomForest::Init() in MethodPyRandomForest.cxx.o
TMVA::MethodPyTorch::Init() in MethodPyTorch.cxx.o
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_PyGILState_Release", referenced from:
TMVA::MethodPyAdaBoost::Init() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyGTB::Init() in MethodPyGTB.cxx.o
TMVA::MethodPyKeras::Init() in MethodPyKeras.cxx.o
TMVA::MethodPyRandomForest::Init() in MethodPyRandomForest.cxx.o
TMVA::MethodPyTorch::Init() in MethodPyTorch.cxx.o
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_PyImport_AddModule", referenced from:
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_PyImport_Import", referenced from:
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_PyImport_ImportModule", referenced from:
TMVA::MethodPyAdaBoost::Init() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyGTB::Init() in MethodPyGTB.cxx.o
TMVA::MethodPyKeras::Init() in MethodPyKeras.cxx.o
TMVA::MethodPyRandomForest::Init() in MethodPyRandomForest.cxx.o
TMVA::MethodPyTorch::Init() in MethodPyTorch.cxx.o
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_PyLong_AsLong", referenced from:
TMVA::MethodPyKeras::SetupKerasModel(bool) in MethodPyKeras.cxx.o
TMVA::MethodPyKeras::Train() in MethodPyKeras.cxx.o
TMVA::MethodPyTorch::ProcessOptions() in MethodPyTorch.cxx.o
"_PyLong_FromLong", referenced from:
TMVA::MethodPyKeras::Train() in MethodPyKeras.cxx.o
TMVA::MethodPyTorch::Train() in MethodPyTorch.cxx.o
"_PyModule_GetDict", referenced from:
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_PyObject_CallFunctionObjArgs", referenced from:
TMVA::MethodPyTorch::GetMvaValues(long long, long long, bool) in MethodPyTorch.cxx.o
"_PyObject_CallMethod", referenced from:
TMVA::MethodPyAdaBoost::GetMvaValues(long long, long long, bool) in MethodPyAdaBoost.cxx.o
TMVA::MethodPyAdaBoost::GetMvaValue(double*, double*) in MethodPyAdaBoost.cxx.o
TMVA::MethodPyAdaBoost::GetMulticlassValues() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyGTB::GetMvaValues(long long, long long, bool) in MethodPyGTB.cxx.o
TMVA::MethodPyGTB::GetMvaValue(double*, double*) in MethodPyGTB.cxx.o
TMVA::MethodPyGTB::GetMulticlassValues() in MethodPyGTB.cxx.o
TMVA::MethodPyKeras::GetMvaValues(long long, long long, bool) in MethodPyKeras.cxx.o
...
"_PyObject_CallObject", referenced from:
TMVA::PyMethodBase::Eval(TString) in PyMethodBase.cxx.o
TMVA::PyMethodBase::Serialize(TString, _object*) in PyMethodBase.cxx.o
TMVA::PyMethodBase::UnSerialize(TString, _object**) in PyMethodBase.cxx.o
"_PyObject_GetAttrString", referenced from:
TMVA::MethodPyAdaBoost::Init() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyAdaBoost::CreateRanking() in MethodPyAdaBoost.cxx.o
TMVA::MethodPyGTB::Init() in MethodPyGTB.cxx.o
TMVA::MethodPyGTB::CreateRanking() in MethodPyGTB.cxx.o
TMVA::MethodPyKeras::Init() in MethodPyKeras.cxx.o
TMVA::MethodPyRandomForest::Init() in MethodPyRandomForest.cxx.o
TMVA::MethodPyRandomForest::CreateRanking() in MethodPyRandomForest.cxx.o
...
"_PyRun_SimpleFileExFlags", referenced from:
TMVA::MethodPyTorch::SetupPyTorchModel(bool) in MethodPyTorch.cxx.o
"_PyRun_StringFlags", referenced from:
TMVA::MethodPyKeras::SetupKerasModel(bool) in MethodPyKeras.cxx.o
TMVA::MethodPyTorch::ProcessOptions() in MethodPyTorch.cxx.o
TMVA::MethodPyTorch::Init() in MethodPyTorch.cxx.o
TMVA::PyMethodBase::PyRunString(TString, TString, int) in PyMethodBase.cxx.o
"_PyString_AsString", referenced from:
TMVA::MethodPyKeras::Train() in MethodPyKeras.cxx.o
"_PyUnicodeUCS2_FromString", referenced from:
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_Py_BuildValue", referenced from:
TMVA::PyMethodBase::Eval(TString) in PyMethodBase.cxx.o
TMVA::PyMethodBase::Serialize(TString, _object*) in PyMethodBase.cxx.o
TMVA::PyMethodBase::UnSerialize(TString, _object**) in PyMethodBase.cxx.o
"_Py_Finalize", referenced from:
TMVA::PyMethodBase::PyFinalize() in PyMethodBase.cxx.o
"_Py_GetProgramName", referenced from:
TMVA::PyMethodBase::Py_GetProgramName() in PyMethodBase.cxx.o
"_Py_Initialize", referenced from:
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
"_Py_IsInitialized", referenced from:
TMVA::PyMethodBase::PyMethodBase(TString const&, TMVA::Types::EMVA, TString const&, TMVA::DataSetInfo&, TString const&) in PyMethodBase.cxx.o
TMVA::PyMethodBase::PyIsInitialized() in PyMethodBase.cxx.o
TMVA::PyMethodBase::PyInitialize() in PyMethodBase.cxx.o
TMVA::PyMethodBase::PyMethodBase(TMVA::Types::EMVA, TMVA::DataSetInfo&, TString const&) in PyMethodBase.cxx.o
TMVA::PyMethodBase::Eval(TString) in PyMethodBase.cxx.o
TMVA::PyMethodBase::Serialize(TString, _object*) in PyMethodBase.cxx.o
"_Py_SetProgramName", referenced from:
TMVA::PyMethodBase::PySetProgramName(TString) in PyMethodBase.cxx.o
"__Py_TrueStruct", referenced from:
TMVA::MethodPyKeras::GetKerasBackend() in MethodPyKeras.cxx.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [tmva/pymva/CMakeFiles/PyMVA.dir/build.make:200: lib/libPyMVA.so] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:33060: tmva/pymva/CMakeFiles/PyMVA.dir/all] Error 2
I’ll try with a Python 3.10 env as @bellenot said and let you know.
Thanks for all the help provided