[Numpy-discussion] Linux numpy 1.0.1 install failed - undefined symbol: pthread_join
Robert Kern
robert.kern at gmail.com
Fri May 25 15:08:25 EDT 2007
Gong, Shawn (Contractor) wrote:
> Hi Robert,
> I have tried both suggestions and got the same error message when
> "import numpy"
>
> Try #1) changed site.cfg to have only these 3 lines
> [atlas]
> library_dirs = /usr/local/lib/atlas
> libraries = lapack, f77blas, cblas, atlas
>
> result: did not work
>
> Try #2) changed site.cfg to have only these 3 lines
> [atlas]
> library_dirs = /home/sgong/dev/dist/lib/atlas
> libraries = lapack, f77blas, cblas, atlas
>
> copy the above 4 files onto /home/sgong/dev/dist/lib/atlas
> /usr/local/lib/atlas/ has all 7 files: lapack, f77blas, cblas, atlas,
> ptcblas, ptf77blas, statlas
> ranlib (in /home/sgong/dev/dist/lib/atlas)
>
> result: did not work
>
> the install screen capture "out" from Try #2 is attached for your
> reference. Note that both library_dirs = ['/usr/local/lib/atlas',
> '/home/sgong/dev/dist/lib/atlas'] are found.
> But '/usr/local/lib/atlas' is ahead of '/home/sgong/dev/dist/lib/atlas'.
>
> Is it a problem?
Okay, here is the full scoop:
* The multi-threaded ATLAS is always tried first. This doesn't work for you
since you compiled your Python without pthreads.
* The standard library directories (/usr/lib, /usr/local/lib, etc.) are tried
along with fairly standard ATLAS library directories, too (/usr/lib/atlas,
/usr/local/lib/atlas).
* Consequently, the multi-threaded libraries in /usr/local/lib/atlas are picked
up before the version that you want.
Here is how to override this (I think):
Set the environment variable PTATLAS=None and then run the build. E.g.
$ export PTATLAS=None
$ python setup.py build
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the NumPy-Discussion
mailing list