From 0da6a244714832d588e9d29b71b6692344c4e930 Mon Sep 17 00:00:00 2001 From: Haiqing Bai Date: Thu, 17 Dec 2020 18:43:30 +0800 Subject: [PATCH] fm-common: updated initfm_core to PyInit_fm_core According with python 3 migration rules: PyMODINIT_FUNC init(void) has changed to below in Python 3: PyMODINIT_FUNC PyInit_(void) otherwise there is below issue: CRITICAL sysinv [-] Unhandled error: ImportError: dynamic module does not define module export function (PyInit_fm_core) ERROR sysinv Traceback (most recent call last): ERROR sysinv File "/usr/bin/sysinv-puppet", line 10, in Story: 2008454 Task: 41440 Signed-off-by: Haiqing Bai Change-Id: Id51da7f328b41ec389cf2e073db7ff6617398339 (cherry picked from commit cd1487e1a5baee09d75587c6267880bb0f0c1289) --- fm-common/sources/fm_python_mod_main.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/fm-common/sources/fm_python_mod_main.cpp b/fm-common/sources/fm_python_mod_main.cpp index c47669aa..7d020ac0 100644 --- a/fm-common/sources/fm_python_mod_main.cpp +++ b/fm-common/sources/fm_python_mod_main.cpp @@ -313,8 +313,21 @@ static PyMethodDef _methods [] = { { NULL, NULL, 0, NULL } }; +static struct PyModuleDef cModPyDem = +{ + PyModuleDef_HEAD_INIT, + "fm_core", /* name of module */ + "", /* module documentation, may be NULL */ + -1, /* size of per-interpreter state of the module, or -1 if the module keeps state in global variables. */ + _methods +}; + +#if PY_MAJOR_VERSION >= 3 +PyMODINIT_FUNC PyInit_fm_core() { +#else PyMODINIT_FUNC initfm_core() { - PyObject *m = Py_InitModule("fm_core", _methods); +#endif + PyObject *m = PyModule_Create(&cModPyDem); if (m == NULL){ PySys_WriteStderr("Failed to initialize fm_core"); return;