J'appelle un seul module python avec une seule fonction d'une application C++. Je reçois une trace de pile. Je l'ai isolé à la ligne "import h5py" dans le module python. Si je cours ce module et fonctionne à l'intérieur de l'interpréteur, tout va bien. De plus, toutes les autres importations fonctionnent. Si je supprime le "import h5py" et commente le code qui l'utilise, alors charge le module et appelle la fonction de C++, tout fonctionne.PyImport_Import segfault
Également fait un test.py et bien sûr si je fais cela importer et charger le module en C++, il a le même résultat.
Quelqu'un at-il déjà vu quelque chose comme ça? Y at-il un moyen de contourner cela parce que j'ai vraiment besoin d'utiliser h5py dans mon module python et que j'ai besoin d'appeler le module de notre application C++.
Killing process on sync signal: 6, Aborted
BEGIN stack trace
0: /lib64/libpthread.so.0() [0x346620f500]
1: /lib64/libc.so.6(gsignal+0x35) [0x3465e328a5]
2: /lib64/libc.so.6(abort+0x175) [0x3465e34085]
3: /opt/gs/lib/libhdf5.so.8(H5check_version+0x13d) [0x2b8c62611e5d]
4: /opt/gs/epd-7.3/lib/python2.7/site-packages/h5py/h5f.so(inith5f+0x19c1) [0x2b8c8df11481]
5: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(_PyImport_LoadDynamicModule+0xc2) [0x2b8c61c78312]
6: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(+0xed290) [0x2b8c61c76290]
7: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(+0xed531) [0x2b8c61c76531]
8: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(PyImport_ImportModuleLevel+0x2be) [0x2b8c61c7756e]
9: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(+0xd447d) [0x2b8c61c5d47d]
10: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(PyObject_Call+0x68) [0x2b8c61bcef28]
11: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(PyEval_CallObjectWithKeywords+0x56) [0x2b8c61c5d9a6]
12: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x28b8) [0x2b8c61c60f08]
13: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x8d2) [0x2b8c61c65c12]
14: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(PyEval_EvalCode+0x32) [0x2b8c61c65c62]
15: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(PyImport_ExecCodeModuleEx+0xc2) [0x2b8c61c74c02]
16: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(+0xec1ce) [0x2b8c61c751ce]
17: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(+0xeda8d) [0x2b8c61c76a8d]
18: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(+0xed290) [0x2b8c61c76290]
19: /opt/gs/epd-7.3/lib/libpython2.7.so.1.0(+0xed764) [0x2b8c61c76764]
END stack trace
Il semble que 'H5check_version()' provoque l'abandon. Dans ce cas, la documentation [ici] (https://support.hdfgroup.org/HDF5/doc1.6/RM_H5.html#Library-VersCheck) explique l'erreur. – Gribouillis
Il est en effet C++ utilisant la version 8 de h5 et python essayant d'importer la version 7 de h5. Essayer de trouver une solution avec la liaison. – lr100