On Jul 24, 2010, at 5:46 PM, Jonathan Tu wrote:
Here is what I would do for RHEL4:
- use python 2.6, not 2.7, because the released numpy does not support 2.7 yet.
- build atlas 3.8.3 and lapack 3.1.1 by yourself: this is your core
issue here. Both lapack and atlas should be built with the -fPIC flag on x86_64 arch (modify the make.inc in lapack to include -fPIC in OPT and NOOPT flags, and add the option -Fa alg -fPIC when calling atlas configure script)
I have built lapack and atlas per your instructions (using http://www.scipy.org/Installing_SciPy/Linux for reference). I think this has been done successfully. My first go at building Numpy was not successful, and I was wondering if perhaps I did a few things wrong.
At one point, the website I referenced above suggests that I can make shared libraries by doing cd lib #to where the atlas libraries are make shared # for sequential libraries make ptshared # for threaded libraries
I initially did both of these things, which I'm not sure is ok. The above website also says "our atlas libraries should now be in the lib subdirectory of the current directory. You should copy them to some-place that you can tell site.cfg about." So I copied the libraries using cp to /home/jhtu/local/lib.
The final thing I had to do was modify my site.cfg. I had a few questions about this. First of all, for my default paths, do I need to do library_dirs = /usr/local/bin:/home/jhtu/local/lib or just library_dirs = /home/jhtu/local/lib
Finally, to specifiy the lapack libraries, there is a section like [blas_opt] libraries = f77blas,... but also another choice [blas_opt] libraries=ptf77blas,... I think this is related to the make shared vs make ptshared question above, but this is something I know nothing about. I think these are the only things that could be causing my problems.
Also, I recently tried this all again, only doing make shared, and only using the list of libraries without "pt." In both cases, when I ran Python interactively and tried to load the numpy module, I got the following:
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/jhtu/local/lib/python2.6/site-packages/numpy/__init__.py", line 132, in <module> import add_newdocs File "/home/jhtu/local/lib/python2.6/site-packages/numpy/add_newdocs.py", line 9, in <module> from lib import add_newdoc File "/home/jhtu/local/lib/python2.6/site-packages/numpy/lib/__init__.py", line 13, in <module> from polynomial import * File "/home/jhtu/local/lib/python2.6/site-packages/numpy/lib/polynomial.py", line 17, in <module> from numpy.linalg import eigvals, lstsq File "/home/jhtu/local/lib/python2.6/site-packages/numpy/linalg/__init__.py", line 47, in <module> from linalg import * File "/home/jhtu/local/lib/python2.6/site-packages/numpy/linalg/linalg.py", line 22, in <module> from numpy.linalg import lapack_lite ImportError: libptf77blas.so: cannot open shared object file: No such file or directory