[NumPy-Tickets] [NumPy] #1749: SOABI-problem with external libraries and python3.2
NumPy Trac
numpy-tickets@scipy....
Wed Jun 22 11:07:39 CDT 2011
#1749: SOABI-problem with external libraries and python3.2
------------------------------+---------------------------------------------
Reporter: don.fanucci | Owner: cdavid
Type: defect | Status: reopened
Priority: normal | Milestone: 1.6.1
Component: numpy.distutils | Version: 1.6.0
Resolution: | Keywords:
------------------------------+---------------------------------------------
Changes (by bsouthey):
* cc: bsouthey (added)
* status: closed => reopened
* version: 1.5.1 => 1.6.0
* resolution: fixed =>
* milestone: 1.6.0 => 1.6.1
Comment:
I do not see the reason to change the shared_lib_extension definition in
{{{ numpy/distutils/fcompiler/__init__.py }}}. That location does not
affect the detection of atlas library. But I do not know what happens
under Windows and Mac and with other libraries. Reverting that change
means that the value of {{{ shared_lib_extension }}} will confirm to the
PEP 3149 (http://www.python.org/dev/peps/pep-3149/).
Changing the {{{ so_ext }}} variable in {{{ numpy/distutils/system_info.py
}}} was sufficient for Python3.2 to find the atlas library:
{{{
so_ext = '.' + distutils.sysconfig.get_config_var('SO').split('.')[-1]
}}}
That is still incorrect because it assumes that the library is not from a
Python extension. In order to address PEP 3149, this should really be
something like for Python 3.2+:
{{{
>>> import distutils.sysconfig
>>> so_ext = [distutils.sysconfig.get_config_var('SO'), '.' +
distutils.sysconfig.get_config_var('SO').split('.')[-1]]
>>> so_ext
['.cpython-32m.so', '.so']
}}}
But that messes the rest of the code that expects so_ext as a str not
list. Also under earlier Python versions it is:
{{{
['.so', '.so']
}}}
--
Ticket URL: <http://projects.scipy.org/numpy/ticket/1749#comment:7>
NumPy <http://projects.scipy.org/numpy>
My example project
More information about the NumPy-Tickets
mailing list