#9808: Upgrade numpy to 1.4.1 and scipy to 0.8
----------------------------------------------------------------------------------+
Reporter: maldun
| Owner: maldun
Type: task
| Status: needs_review
Priority: major
| Milestone: sage-4.6
Component: packages
| Keywords: numpy, scipy
Author: Stefan Reiterer, Francois Bissey
| Upstream: N/A
Reviewer: Karl-Dieter Crisman, David Kirkby, Leif Leonhardy, Francois
Bissey | Merged:
Work_issues:
|
----------------------------------------------------------------------------------+
Comment(by fbissey):
Replying to [comment:142 maldun]:
> Replying to [comment:141 leif]:
> > Dave pointed me to this ticket the day before yesterday (and I read it
from the beginning). ;-)
> >
> > Despite that, it's unclear to me which diffs are currrent, and the
description should IMHO be updated wrt. what's to be done to review this.
> >
> > {{{./sage -ba}}} is also in my opinion not a solution to get dependent
extension modules updated, i.e. if {{{./sage -b}}} isn't sufficient,
dependencies should be added to {{{module_list.py}}}.
> >
>
> I cleaned up the discription a little bit, and deleted the obsolete
remark about networkx-1.2
>
> I don't know if this is a good Idea because this is a whole bunch of
files we are talking about, which have to be added. Perhaps you won't save
much time either when compiling. I first tried this too, but after about 2
hours searching, I got somehow tired of this... And after merging numpy >
1.3.x into Sage this has not to be done anymore. All versions of 1.5.x
builded without problems, and didn't need -ba anymore.
> You only have to do this when big changes are happening, and this is
rather occassionally.
>
> package with a linux ppc patch is out: http://code.google.com/p/spkg-
upload/downloads/detail?name=numpy-1.4.1.p0.spkg
> hope it works this time!
Ok so I tried to build numpy-1.4.1 with our patch on ppc. Didn't work.
It may be a good start but it fails in the same way it did before:
{{{
[39mcompile options: '-Inumpy/core/src/private -Inumpy/core/src
-Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray
-Inumpy/core/src/umath -Inumpy/core/include -I/usr/include/python2.6
-c' [0m
[39mpowerpc-unknown-linux-gnu-gcc: _configtest.c [0m
[39mremoving: _configtest.c _configtest.o [0m
Traceback (most recent call last):
File "setup.py", line 187, in <module>
setup_package()
File "setup.py", line 180, in setup_package
configuration=configuration )
File "/scratch/portage/portage/dev-
python/numpy-1.4.1/work/numpy-1.4.1/numpy/distutils/core.py", line 186, in
setup
return old_setup(**new_attr)
File "/usr/lib/python2.6/distutils/core.py", line 152, in setup
dist.run_commands()
File "/usr/lib/python2.6/distutils/dist.py", line 975, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.6/distutils/dist.py", line 995, in run_command
cmd_obj.run()
File "/scratch/portage/portage/dev-
python/numpy-1.4.1/work/numpy-1.4.1/numpy/distutils/command/build.py",
line 37, in run
old_build.run(self)
File "/usr/lib/python2.6/distutils/command/build.py", line 134, in run
self.run_command(cmd_name)
File "/usr/lib/python2.6/distutils/cmd.py", line 333, in run_command
self.distribution.run_command(command)
File "/usr/lib/python2.6/distutils/dist.py", line 995, in run_command
cmd_obj.run()
File "/scratch/portage/portage/dev-
python/numpy-1.4.1/work/numpy-1.4.1/numpy/distutils/command/build_src.py",
line 152, in run
self.build_sources()
File "/scratch/portage/portage/dev-
python/numpy-1.4.1/work/numpy-1.4.1/numpy/distutils/command/build_src.py",
line 169, in build_sources
self.build_extension_sources(ext)
File "/scratch/portage/portage/dev-
python/numpy-1.4.1/work/numpy-1.4.1/numpy/distutils/command/build_src.py",
line 328, in build_extension_sources
sources = self.generate_sources(sources, ext)
File "/scratch/portage/portage/dev-
python/numpy-1.4.1/work/numpy-1.4.1/numpy/distutils/command/build_src.py",
line 385, in generate_sources
source = func(extension, build_dir)
File "numpy/core/setup.py", line 416, in generate_config_h
rep = check_long_double_representation(config_cmd)
File "numpy/core/setup_common.py", line 136, in
check_long_double_representation
type = long_double_representation(pyod(object))
File "numpy/core/setup_common.py", line 244, in
long_double_representation
raise ValueError("Unrecognized format (%s)" % saw)
ValueError: Unrecognized format (['001', '043', '105', '147', '211',
'253', '315', '357', '301', '235', '157', '064', '124', '000', '000',
'000', '000', '000', '000', '000', '000', '000', '000', '000', '376',
'334', '272', '230', '166', '124', '062', '020'])
[31;01m* [0m ERROR: dev-python/numpy-1.4.1 failed:
}}}
The expectation from numpy/core/setup_common.py is:
{{{
LONG_DOUBLE_REPRESENTATION_SRC = r"""
/* "before" is 16 bytes to ensure there's no padding between it and "x".
* We're not expecting any "long double" bigger than 16 bytes or with
* alignment requirements stricter than 16 bytes. */
typedef %(type)s test_type;
struct {
char before[16];
test_type x;
char after[8];
} foo = {
{ '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
'\001', '\043', '\105', '\147', '\211', '\253', '\315', '\357'
},
-123456789.0,
{ '\376', '\334', '\272', '\230', '\166', '\124', '\062', '\020' }
};
"""
}}}
And when you compare the two you can see that it is an endianess problem.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9808#comment:162>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.