right list for SIGABRT python binary question ?

M.-A. Lemburg mal at egenix.com
Tue Oct 24 14:47:58 EDT 2017



On 22.10.2017 22:15, Karsten Hilbert wrote:
> On Sat, Oct 21, 2017 at 07:10:31PM +0200, M.-A. Lemburg wrote:
> 
>>> Running a debug build of py27 gave me a first lead: this
>>> Debian system (Testing, upgraded all the way from various
>>> releases ago) carries an incompatible mxDateTime which I'll
>>> take care of.
>>>
>>> 	*** You don't have the (right) mxDateTime binaries installed !
>>> 	Traceback (most recent call last):
>>> 	  File "./bootstrap_gm_db_system.py", line 87, in <module>
>>> 	    from Gnumed.pycommon import gmCfg2, gmPsql, gmPG2, gmTools, gmI18N
>>> 	  File "/home/ncq/Projekte/gm-git/gnumed/gnumed/Gnumed/pycommon/gmPG2.py", line 34, in <module>
>>> 	    from Gnumed.pycommon import gmDateTime
>>> 	  File "/home/ncq/Projekte/gm-git/gnumed/gnumed/Gnumed/pycommon/gmDateTime.py", line 52, in <module>
>>> 	    import mx.DateTime as mxDT
>>> 	  File "/usr/lib/python2.7/dist-packages/mx/DateTime/__init__.py", line 8, in <module>
>>> 	    from DateTime import *
>>> 	  File "/usr/lib/python2.7/dist-packages/mx/DateTime/DateTime.py", line 9, in <module>
>>> 	    from mxDateTime import *
>>> 	  File "/usr/lib/python2.7/dist-packages/mx/DateTime/mxDateTime/__init__.py", line 13, in <module>
>>> 	    raise ImportError, why
>>> 	ImportError: /usr/lib/python2.7/dist-packages/mx/DateTime/mxDateTime/mxDateTime.so: undefined symbol: Py_InitModule4
>>
>> This error suggests that you have 32- and 64-bit versions of
>> Python and mxDateTime mixed in your installation.
>>
>> Py_InitModule4 is only available in the 32-bit build of
>> Python. With the 64-bit build, it's called Py_InitModule4_64.
>>
>> Since you're getting the same error from faulthandler,
>> this is where I'd start to investigate.
>>
>> "nm" will list all exported and required symbols. As first step,
>> you should probably check the python binary for its symbols and
>> see whether it exports Py_InitModule* symbols.
> 
> Thanks for your input !
> 
> The python2.7-dbg build is 32 bits:
> 
> 	root at hermes:~# nm /usr/bin/python2.7-dbg | grep Py_InitM
> 	00155b9f T Py_InitModule4TraceRefs
> 
> 
> 	python2.7-dbg:
> 	  Installiert:           2.7.14-2
> 	  Installationskandidat: 2.7.14-2
> 	  Versionstabelle:
> 	 *** 2.7.14-2 500
> 	        500 http://httpredir.debian.org/debian unstable/main i386 Packages
> 	        100 /var/lib/dpkg/status
> 	     2.7.13-2 990
> 	        500 http://httpredir.debian.org/debian stretch/main i386 Packages
> 	        990 http://httpredir.debian.org/debian buster/main i386 Packages
> 
> The python2.7 build (no -dbg) does not have symbols.
> 
> mxDateTime really should be 32 bits, too:
> 
> 	python-egenix-mxdatetime:
> 	  Installiert:           3.2.9-1
> 	  Installationskandidat: 3.2.9-1
> 	  Versionstabelle:
> 	 *** 3.2.9-1 990
> 	        500 http://httpredir.debian.org/debian stretch/main i386 Packages
> 	        990 http://httpredir.debian.org/debian buster/main i386 Packages
> 	        500 http://httpredir.debian.org/debian unstable/main i386 Packages
> 	        100 /var/lib/dpkg/status
> 
> Let me check the .so file:
> 
> 	root at hermes:~# nm /usr/lib/python2.7/dist-packages/mx/DateTime/mxDateTime/mxDateTime_d.so  | grep Py_InitM
> 	         U Py_InitModule4TraceRefs
> 
> It seems it is - hm ...

Could you check whether you have similar import errors with
other modules that have C extensions ? E.g. lxml.

What you're seeing appears to be a compilation problem
with Python 2.7.14 on Debian. The executable doesn't appear
to export its symbols to the .so files, or only some of them.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Experts
>>> Python Projects, Coaching and Consulting ...  http://www.egenix.com/
>>> Python Database Interfaces ...           http://products.egenix.com/
>>> Plone/Zope Database Interfaces ...           http://zope.egenix.com/
________________________________________________________________________

::::: Try our mxODBC.Connect Python Database Interface for free ! ::::::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/



More information about the Python-list mailing list