[Numpy-discussion] Numpy depends on OpenSSL ???
Mark Sienkiewicz
sienkiew at stsci.edu
Wed Sep 23 16:16:24 EDT 2009
Robert Kern wrote:
> On Wed, Sep 23, 2009 at 10:52, Mark Sienkiewicz <sienkiew at stsci.edu> wrote:
>
>> I have discovered the hard way that numpy depends on openssl.
>>
>> I am building a 64 bit python environment for the macintosh. I
>> currently do not have a 64 bit openssl library installed, so the python
>> interpreter does not have hashlib. (hashlib gets its md5 function from
>> the openssl library.)
>>
>
> There are builtin implementations that do not depend on OpenSSL.
> hashlib should be using them for MD5 and the standard SHA variants
> when OpenSSL is not available.
This is the clue that I needed. Here is where it led:
setup.py tries to detect the presence of openssl by looking for the
library and the include files. It detects the library that Apple
provided in /usr/lib/libssl.dylib and tries to build the openssl version
of hashlib. But when it actually builds the module, the link fails
because that library file is not for the correct architecture. I am
building for x86_64, but the library contains only ppc and i386.
The result is that hashlib cannot be imported, so the python installer
decides not to install it at all. That certainly appears to indicate
that the python developers consider hashlib to be optional, but it
_should_ work in most any python installation.
So, the problem is really about the python install automatically
detecting libraries. If I hack the setup.py that builds all the C
modules so that it can't find the openssl library, then it uses the
fallbacks that are distributed with python.
That gets me a as far as "EnvironmentError: math library missing; rerun
setup.py after setting the MATHLIB env variable", which is a big
improvement. (The math library is not missing, but this is a different
problem entirely.)
Thanks, and sorry for the false alarm.
Mark S.
More information about the NumPy-Discussion
mailing list