[Numpy-discussion] ANN: Numpy 1.6.1 release candidate 1
Bruce Southey
bsouthey at gmail.com
Tue Jun 21 10:38:15 EDT 2011
On 06/21/2011 01:01 AM, Ralf Gommers wrote:
>
>
> On Tue, Jun 21, 2011 at 3:55 AM, Bruce Southey <bsouthey at gmail.com
> <mailto:bsouthey at gmail.com>> wrote:
>
> On Mon, Jun 20, 2011 at 2:43 PM, Ralf Gommers
> <ralf.gommers at googlemail.com <mailto:ralf.gommers at googlemail.com>>
> wrote:
> >
> >
> > On Mon, Jun 20, 2011 at 8:50 PM, Bruce Southey
> <bsouthey at gmail.com <mailto:bsouthey at gmail.com>> wrote:
> >>
> >> I copied the files but that just moves the problem. So that
> patch is
> >> incorrect.
> >>
> >> I get the same errors on Fedora 15 supplied Python3.2 for numpy
> 1.6.0 and
> >> using git from 'https://github.com/rgommers/numpy.git'. Numpy
> is getting
> >> Fedora supplied Atlas (1.5.1 does not).
> >>
> >> It appears that there is a misunderstanding of the PEP because
> 'SO' and
> >> 'SOABI' do exactly what the PEP says on my systems:
> >
> > It doesn't on OS X. But that's not even the issue. As I
> explained before,
> > the issue is that get_config_var('SO') is used to determine the
> extension of
> > system libraries (such as liblapack.so) and python-related ones
> (such as
> > multiarray.cpython-32m.so <http://multiarray.cpython-32m.so>).
> And the current functions don't do mindreading.
> >>
> >> >>> from distutils import sysconfig sysconfig.get_config_var('SO')
> >> '.cpython-32m.so'
> >> >>> sysconfig.get_config_var('SOABI')
> >> 'cpython-32m'
> >>
> >> Consequently, the name, 'multiarray.pyd', created within numpy
> is invalid.
> >
> > I removed the line in ctypeslib that was trying this, so I think
> you are not
> > testing my patch.
> >
> > Ralf
> >
> >>
> >> Looking the code, I see this line which makes no sense given
> that the
> >> second part is true under Linux:
> >>
> >> if (not is_python_ext) and 'SOABI' in
> >> distutils.sysconfig.get_config_vars():
> >>
> >> So I think the 'get_shared_lib_extension' function is wrong and
> probably
> >> unneeded.
> >>
> >>
> >> Bruce
> >>
>
> Just to show that this is the new version, I added two print
> statements in the 'get_shared_lib_extension' function:
> >>> from numpy.distutils.misc_util import get_shared_lib_extension
> >>> get_shared_lib_extension(True)
> first so_ext .cpython-32mu.so
> returned so_ext .cpython-32mu.so
> '.cpython-32mu.so'
> >>> get_shared_lib_extension(False)
> first so_ext .cpython-32mu.so
> returned so_ext .so
> '.so'
>
>
> This all looks correct. Before you were saying you were still getting
> 'multiarray.pyd', now your error says 'multiarray.so'. So now you are
> testing the right thing. Test test_basic2() in test_ctypeslib was
> fixed, but I forgot to fix it in two other places. I updated both my
> branches on github, please try again.
>
>
> The reason for the same location is obvious because all the patch does
> is move the code to get the extension into that function. So the
> 'get_shared_lib_extension' function returns the extension '.so' to the
> load_library function. However that name is wrong under Linux as it
> has to be 'multiarray.cpython-32mu.so
> <http://multiarray.cpython-32mu.so>' and hence the error in the same
> location. I did come across this thread
> 'http://bugs.python.org/issue10262' which indicates why Linux is
> different by default.
>
> So what is the actual name of the multiarray shared library with
> the Mac?
> If it is ' 'multiarray.so' then the correct name is "libname +
> sysconfig.get_config_var('SO')" as I previously indicated.
>
> It is, and yes that's correct. Orthogonal to the actual issue though.
>
> Ralf
>
>
>
While the test now pass, you have now changed an API for load_library.
This is not something that is meant to occur in a bug-fix release as
well as the new argument is undocumented. But I do not understand the
need for this extra complexity when "libname +
sysconfig.get_config_var('SO')" works on Linux, Windows and Mac.
Bruce
$ git clone git://github.com/rgommers/numpy.git numpy
$ cd numpy
$ git checkout sharedlib-ext
Switched to branch 'sharedlib-ext'
$ git branch -a
master
* sharedlib-ext
remotes/origin/1.5.x
remotes/origin/HEAD -> origin/master
remotes/origin/compilation-issues-doc
remotes/origin/doc-noinstall
remotes/origin/maintenance/1.4.x
remotes/origin/maintenance/1.5.x
remotes/origin/maintenance/1.6.x
remotes/origin/master
remotes/origin/sharedlib-ext
remotes/origin/sharedlib-ext-1.6.x
remotes/origin/swigopts
remotes/origin/ticket-1218-array2string
remotes/origin/ticket-1689-fromstring
remotes/origin/ticket-99
remotes/origin/warn-noclean-build
[built and installed numpy]
$ python3
Python 3.2 (r32:88445, Feb 21 2011, 21:11:06)
[GCC 4.6.0 20110212 (Red Hat 4.6.0-0.7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> np.__version__
'2.0.0.dev-Unknown'
>>> np.test()
Running unit tests for numpy
NumPy version 2.0.0.dev-Unknown
NumPy is installed in /usr/lib64/python3.2/site-packages/numpy
Python version 3.2 (r32:88445, Feb 21 2011, 21:11:06) [GCC 4.6.0
20110212 (Red Hat 4.6.0-0.7)]
nose version 1.0.0
...F..............F.....E..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................K............................................................................................................................................................................................K..................................................................................................K......................K..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................../usr/lib64/python3.2/site-packages/numpy/lib/format.py:575:
ResourceWarning: unclosed file <_io.BufferedReader name='/tmp/tmphws7d4'>
mode=mode, offset=offset)
.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................../usr/lib64/python3.2/subprocess.py:460:
ResourceWarning: unclosed file <_io.BufferedReader name=3>
return Popen(*popenargs, **kwargs).wait()
/usr/lib64/python3.2/subprocess.py:460: ResourceWarning: unclosed file
<_io.BufferedReader name=8>
return Popen(*popenargs, **kwargs).wait()
........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
======================================================================
ERROR: test_datetime_divide (test_datetime.TestDateTime)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/usr/lib64/python3.2/site-packages/numpy/core/tests/test_datetime.py",
line 762, in test_datetime_divide
assert_equal(tda / tdb, 6.0 / 9.0)
TypeError: internal error: could not find appropriate datetime inner
loop in true_divide ufunc
======================================================================
FAIL: Test custom format function for each element in array.
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/usr/lib64/python3.2/site-packages/numpy/core/tests/test_arrayprint.py", line
86, in test_format_function
"[0x0L 0x1L 0x2L]")
File "/usr/lib64/python3.2/site-packages/numpy/testing/utils.py",
line 313, in assert_equal
raise AssertionError(msg)
AssertionError:
Items are not equal:
ACTUAL: '[0x0 0x1 0x2]'
DESIRED: '[0x0L 0x1L 0x2L]'
======================================================================
FAIL: test_datetime_as_string (test_datetime.TestDateTime)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/usr/lib64/python3.2/site-packages/numpy/core/tests/test_datetime.py",
line 1001, in test_datetime_as_string
'1959')
File "/usr/lib64/python3.2/site-packages/numpy/testing/utils.py",
line 313, in assert_equal
raise AssertionError(msg)
AssertionError:
Items are not equal:
ACTUAL: b'1959'
DESIRED: '1959'
----------------------------------------------------------------------
Ran 3578 tests in 36.278s
FAILED (KNOWNFAIL=4, errors=1, failures=2)
<nose.result.TextTestResult run=3578 errors=1 failures=2>
>>>
>>> from numpy.distutils.misc_util import get_shared_lib_extension
>>> get_shared_lib_extension(True)
'.cpython-32mu.so'
>>> get_shared_lib_extension(False)
'.so'
>>> load_library('multiarray',
'/usr/lib64/python3.2/site-packages/numpy/core/', True)
<CDLL
'/usr/lib64/python3.2/site-packages/numpy/core/multiarray.cpython-32mu.so',
handle a5a070 at 17dd9d0>
>>> load_library('multiarray',
'/usr/lib64/python3.2/site-packages/numpy/core/')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python3.2/site-packages/numpy/ctypeslib.py", line
124, in load_library
raise exc
File "/usr/lib64/python3.2/site-packages/numpy/ctypeslib.py", line
121, in load_library
return ctypes.cdll[libpath]
File "/usr/lib64/python3.2/ctypes/__init__.py", line 415, in __getitem__
return getattr(self, name)
File "/usr/lib64/python3.2/ctypes/__init__.py", line 410, in __getattr__
dll = self._dlltype(name)
File "/usr/lib64/python3.2/ctypes/__init__.py", line 340, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /usr/lib64/python3.2/site-packages/numpy/core/multiarray.so:
cannot open shared object file: No such file or directory
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20110621/449d2948/attachment.html>
More information about the NumPy-Discussion
mailing list