From a7c30b716187d1293d62db454c220f5c53fdd9f7 Mon Sep 17 00:00:00 2001 From: jfa Date: Mon, 19 Dec 2022 13:35:14 +0300 Subject: [PATCH] [bos #33210] [CEA] building SALOME on Fedora 37. SHAPER-Python3.11_co_code.patch applied. --- src/InitializationPlugin/InitializationPlugin_PyInterp.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/InitializationPlugin/InitializationPlugin_PyInterp.cpp b/src/InitializationPlugin/InitializationPlugin_PyInterp.cpp index 0aab9a2c7..0569e96eb 100644 --- a/src/InitializationPlugin/InitializationPlugin_PyInterp.cpp +++ b/src/InitializationPlugin/InitializationPlugin_PyInterp.cpp @@ -24,6 +24,7 @@ #include #include #include +#include InitializationPlugin_PyInterp::InitializationPlugin_PyInterp() : PyInterp_Interp() @@ -118,7 +119,11 @@ std::list InitializationPlugin_PyInterp::compile(const std::wstrin } PyCodeObject* aCodeObj = (PyCodeObject*) aCodePyObj; +#if PY_VERSION_HEX >= 0x030B0000 + std::string aCodeName(PyBytes_AsString(PyObject_GetAttrString((PyObject *)(aCodeObj), "co_code"))); +#else std::string aCodeName(PyBytes_AsString(aCodeObj->co_code)); +#endif // co_names should be tuple, but can be changed in modern versions of python (>2.7.3) if(!PyTuple_Check(aCodeObj->co_names)) { return aResult; -- 2.39.2