Numpy-1.0.3 RPM install failure on SUSE 10.2
I don't know if this is the appropriate place for this, but thanks for any pointers to what the problem is. -rex deserv:/ # smart install python-numpy Loading cache... Updating cache... ########################################################## [100%] Computing transaction... Installing packages (3): blas-3.0-958@i586 lapack-3.0-958@i586 python-numpy-1.0.3-0.pm.1@i586 9.6MB of package files are needed. 30.5MB will be used. Confirm changes? (Y/n): y Fetching packages... -> http://download.opensuse.org/distribution/10.2/repo/oss/suse/i586/blas-3.0-9... -> http://packman.inode.at/suse/10.2/i586/python-numpy-1.0.3-0.pm.1.i586.rpm blas-3.0-958.i586.rpm ########################################################## [ 33%] -> http://download.opensuse.org/distribution/10.2/repo/oss/suse/i586/lapack-3.0... python-numpy-1.0.3-0.pm.1.i586.rpm ########################################################## [ 66%] lapack-3.0-958.i586.rpm ########################################################## [100%] Committing transaction... Preparing... ########################################################## [ 0%] 1:Installing blas ########################################################## [ 33%] 2:Installing lapack ########################################################## [ 66%] 3:Installing python-numpy ########################################################## [100%] deserv:/ # python Python 2.5 (r25:51908, Nov 27 2006, 19:14:46) [GCC 4.1.2 20061115 (prerelease) (SUSE Linux)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
from numpy import * Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.5/site-packages/numpy/__init__.py", line 43, in <module> import linalg File "/usr/lib/python2.5/site-packages/numpy/linalg/__init__.py", line 4, in <module> from linalg import * File "/usr/lib/python2.5/site-packages/numpy/linalg/linalg.py", line 25, in <module> from numpy.linalg import lapack_lite ImportError: /usr/lib/libblas.so.3: undefined symbol: _gfortran_st_write_done
rex wrote:
I don't know if this is the appropriate place for this, but thanks for any pointers to what the problem is.
-rex
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.5/site-packages/numpy/__init__.py", line 43, in <module> import linalg File "/usr/lib/python2.5/site-packages/numpy/linalg/__init__.py", line 4, in <module> from linalg import * File "/usr/lib/python2.5/site-packages/numpy/linalg/linalg.py", line 25, in <module> from numpy.linalg import lapack_lite ImportError: /usr/lib/libblas.so.3: undefined symbol: _gfortran_st_write_done
This is certainly because of a mismatch the compiler used for numpy and blas/lapack. I checked the rpm you are using, and it looks like whereas blas and lapack are compiled with gfortran, python-numpy is compiled with g77. I do not use opensuse myself, but started a project to provide binaries for numpy/scipy for this distribution: most of the packages like blas and lapack are broken on this platform (I really wonder if there was any testing of those packages by the packagers). The quickest thing would be to install numpy from sources. If you're willing to help, I have some binary for numpy with my own blas/lapack here, which need some feedback (and updating, too) http://software.opensuse.org/download/home:/ashigabou/openSUSE_10.2/ cheers, David
David Cournapeau <david@ar.media.kyoto-u.ac.jp> [2007-06-08 22:49]:
rex wrote:
I don't know if this is the appropriate place for this, but thanks for any pointers to what the problem is.
-rex
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.5/site-packages/numpy/__init__.py", line 43, in <module> import linalg File "/usr/lib/python2.5/site-packages/numpy/linalg/__init__.py", line 4, in <module> from linalg import * File "/usr/lib/python2.5/site-packages/numpy/linalg/linalg.py", line 25, in <module> from numpy.linalg import lapack_lite ImportError: /usr/lib/libblas.so.3: undefined symbol: _gfortran_st_write_done
This is certainly because of a mismatch the compiler used for numpy and blas/lapack. I checked the rpm you are using, and it looks like whereas blas and lapack are compiled with gfortran, python-numpy is compiled with g77. I do not use opensuse myself, but started a project to provide binaries for numpy/scipy for this distribution: most of the packages like blas and lapack are broken on this platform (I really wonder if there was any testing of those packages by the packagers).
The quickest thing would be to install numpy from sources. If you're willing to help, I have some binary for numpy with my own blas/lapack here, which need some feedback (and updating, too)
http://software.opensuse.org/download/home:/ashigabou/openSUSE_10.2/
Thanks for the response. Numpy/SciPy has always been one of the most difficult packages to install I've ever encountered (I've installed hundreds of tarballs over the years). I've been using SUSE since version 6.4, and it's always a battle to get Numpy/SciPy running. I succeed about every other release, but only after many hours of work. Half the time I fail and don't use Numpy/SciPy until the next release. By then I've forgotten the incredible frustration, and try again. I tried to install from source with this result: deserv:/usr/local/src/numpy-1.0.3 # python setup.py install Running from numpy source directory. Traceback (most recent call last): File "setup.py", line 91, in <module> setup_package() File "setup.py", line 61, in setup_package from numpy.distutils.core import setup File "/usr/local/src/numpy-1.0.3/numpy/distutils/core.py", line 24, in <module> from numpy.distutils.command import build_ext File "/usr/local/src/numpy-1.0.3/numpy/distutils/command/build_ext.py", line 16, in <module> from numpy.distutils.system_info import combine_paths File "/usr/local/src/numpy-1.0.3/numpy/distutils/system_info.py", line 159, in <module> so_ext = distutils.sysconfig.get_config_vars('SO')[0] or '' File "/usr/lib/python2.5/distutils/sysconfig.py", line 493, in get_config_vars func() File "/usr/lib/python2.5/distutils/sysconfig.py", line 352, in _init_posix raise DistutilsPlatformError(my_msg) distutils.errors.DistutilsPlatformError: invalid Python installation: unable to open /usr/lib/python2.5/config/Makefile (No such file or +directory) There is no 'config' directory under /usr/lib/python2.5 There is a science repository linked from http://www.scipy.org/Installing_SciPy/Linux http://repos.opensuse.org/science/ I tried to install from the RPMs there, but the recursive dependency chain broke when a gfortran lib that isn't there was required. I also wonder if there was ANY testing by the packagers. http://software.opensuse.org/download/home:/ashigabou Times out. :( Again, thanks for the response. I think I'm going to go do something more pleasant, like lay on a stinging ant nest... -rex
On Sat, Jun 09, 2007 at 01:19:41AM -0700, rex wrote:
Thanks for the response. Numpy/SciPy has always been one of the most difficult packages to install I've ever encountered (I've installed hundreds of tarballs over the years). I've been using SUSE since version 6.4, and it's always a battle to get Numpy/SciPy running.
I know it doesn't add much to the discussion, but with Ubuntu (or Debian) it an absolute breeze, as the packaging has been well done. Gaƫl
rex wrote:
Thanks for the response. Numpy/SciPy has always been one of the most difficult packages to install I've ever encountered (I've installed hundreds of tarballs over the years). I've been using SUSE since version 6.4, and it's always a battle to get Numpy/SciPy running. I succeed about every other release, but only after many hours of work. Half the time I fail and don't use Numpy/SciPy until the next release. By then I've forgotten the incredible frustration, and try again.
This is really Suse fault, honnestly. As Fedora, they have mostly broken blas or lapack, or at least had for a long time. I guess this is because most people using BLAS/LAPACK compile them by themselves, and not that many softwares depend on those; when I started packaging BLAS and LAPACK correctly for suse, I noticed that the g77 compiler has been broken for several months ! Also, if you take a look at the spec file of blas/lapack in suse, and compare them with the work done by the debian packagers, it is obvious why one works flawlessly, and the others do not (it is true that BLAS and LAPACK are difficult to package correctly because they have primitive makefile). I have *never* encountered so many problems on any debian or ubuntu machines. If I had, maybe I won't be using numpy or scipy right now. Using opensuse and fedora has been really, really painful when I started packaging numpy and scipy for those platforms. I would go as far as advising you to install a distribution which packages its software correctly, like debian: you can install it on par with your opensuse by using a chroot jail, or any other mean.
I tried to install from source with this result:
deserv:/usr/local/src/numpy-1.0.3 # python setup.py install Running from numpy source directory. Traceback (most recent call last): File "setup.py", line 91, in <module> setup_package() File "setup.py", line 61, in setup_package from numpy.distutils.core import setup File "/usr/local/src/numpy-1.0.3/numpy/distutils/core.py", line 24, in <module> from numpy.distutils.command import build_ext File "/usr/local/src/numpy-1.0.3/numpy/distutils/command/build_ext.py", line 16, in <module> from numpy.distutils.system_info import combine_paths File "/usr/local/src/numpy-1.0.3/numpy/distutils/system_info.py", line 159, in <module> so_ext = distutils.sysconfig.get_config_vars('SO')[0] or '' File "/usr/lib/python2.5/distutils/sysconfig.py", line 493, in get_config_vars func() File "/usr/lib/python2.5/distutils/sysconfig.py", line 352, in _init_posix raise DistutilsPlatformError(my_msg) distutils.errors.DistutilsPlatformError: invalid Python installation: unable to open /usr/lib/python2.5/config/Makefile (No such file or +directory)
Did you install python-devel, or something like this ?
There is no 'config' directory under /usr/lib/python2.5
There is a science repository linked from http://www.scipy.org/Installing_SciPy/Linux
http://repos.opensuse.org/science/
I tried to install from the RPMs there, but the recursive dependency chain broke when a gfortran lib that isn't there was required. I also wonder if there was ANY testing by the packagers.
http://software.opensuse.org/download/home:/ashigabou
Times out. :(
Unfortunately, there seems to be a lot of server issues on the service... David
David Cournapeau <david@ar.media.kyoto-u.ac.jp> [2007-06-09 06:35]:
rex wrote:
I've been using SUSE since version 6.4, and it's always a battle to get Numpy/SciPy running.
This is really Suse fault, honnestly. As Fedora, they have mostly broken blas or lapack, or at least had for a long time.
Yes, I know. They have released some very broken versions recently. 10.1 was so bad that they remastered it. 10.2 will not install from a SATA CD/DVD without an obscure trick. The bug was reported a number of times, but the priority was set so low -- even after it was pointed out that it is a show-stopper for most people -- that it did not get fixed. Software installs from YAST are extremely tedious. 10.3 is supposed to be better, but who knows?
I would go as far as advising you to install a distribution which packages its software correctly, like debian: you can install it on par with your opensuse by using a chroot jail, or any other mean.
I tried Debian a couple of years ago and the Devil I know (somewhat) seemed a better choice. Perhaps I should try again.
distutils.errors.DistutilsPlatformError: invalid Python installation: unable to open /usr/lib/python2.5/config/Makefile (No such file or +directory) Did you install python-devel, or something like this ?
Ah, I had this problem the last time also, and Robert Kern kindly suggested the same thing. I'd totally forgotten about it. :(
There is a science repository linked from http://www.scipy.org/Installing_SciPy/Linux
http://repos.opensuse.org/science/
I tried to install from the RPMs there, but the recursive dependency chain broke when a gfortran lib that isn't there was required. I also wonder if there was ANY testing by the packagers.
http://software.opensuse.org/download/home:/ashigabou
Times out. :(
Unfortunately, there seems to be a lot of server issues on the service...
Today it responded and I installed Numpy, LAPACK and refblas from there using the Smart package manager. It works. :) Python 2.5 (r25:51908, Nov 27 2006, 19:14:46) [GCC 4.1.2 20061115 (prerelease) (SUSE Linux)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
import numpy numpy.test() Found 5 tests for numpy.distutils.misc_util Found 3 tests for numpy.lib.getlimits Found 31 tests for numpy.core.numerictypes Found 32 tests for numpy.linalg Found 13 tests for numpy.core.umath Found 4 tests for numpy.core.scalarmath Found 9 tests for numpy.lib.arraysetops Found 42 tests for numpy.lib.type_check Found 188 tests for numpy.core.multiarray Found 3 tests for numpy.fft.helper Found 36 tests for numpy.core.ma Found 1 tests for numpy.lib.ufunclike Found 1 tests for numpy.fft.fftpack Found 12 tests for numpy.lib.twodim_base Found 10 tests for numpy.core.defmatrix Found 4 tests for numpy.ctypeslib Found 41 tests for numpy.lib.function_base Found 2 tests for numpy.lib.polynomial Found 9 tests for numpy.core.records Found 29 tests for numpy.core.numeric Found 4 tests for numpy.lib.index_tricks Found 47 tests for numpy.lib.shape_base Found 0 tests for __main__
Ran 526 tests in 0.474s OK
Thanks much for the help. Now, I'm going to try to build from source again using MKL. I'd forgotten that I posted what I had to do to make it work on 24 Jan 2007. -rex
rex wrote:
I tried Debian a couple of years ago and the Devil I know (somewhat) seemed a better choice. Perhaps I should try again.
Debian installer improved a lot the last few years. Otherwise, try Ubuntu, which is easier to install than mac os x on supported hardware (I am not kidding). Both distributions have correct blas, lapack and testers/timers (I basically copied their scheme and adapted it for the rpms_). They also package atlas correctly.
Ah, I had this problem the last time also, and Robert Kern kindly suggested the same thing. I'd totally forgotten about it. :(
This one has nothing to do with Suse, at least. When compiling softwares, you have to install a lot of -devel (-dev on debian) packages. This kind of information should be easy to add to the wiki, though.
Today it responded and I installed Numpy, LAPACK and refblas from there using the Smart package manager. It works. :)
Good to hear. I can update to 1.0.3 if you need it. Note that because it uses the reference blas and lapack, it will be relatively slow compared to say ATLAS or MKL. But I took quite a great care to package blas and lapack with their testers and timers, dynamically linked to blas and lapack, so that you can use them to test other implementations (say ATLAS). David
participants (3)
-
David Cournapeau
-
Gael Varoquaux
-
rex