Heikki Toivonen wrote:
John Nagle wrote:
M2Crypto, from

http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-0.20.1.tar.gz

won't build on Red Hat Linux / 386.  The error is

It's some incompatibility between Red Hat include file packaging and
M2Crypto.

Yup, all Fedora Core-based systems actually.


I've also added this to the FAQ:
http://chandlerproject.org/Projects/MeTooCrypto#Code

   OK, did that.  The build is now failing with

-bash-3.1$ ./fedora-setup.sh build
running build
running build_py
creating build
...
building 'M2Crypto.__m2crypto' extension
swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
swig -python -I/usr/local/include/python2.5 -I/usr/include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
SWIG/_evp.i:9: Error: Unable to find 'openssl/opensslconf-i686.h'
SWIG/_ec.i:7: Error: Unable to find 'openssl/opensslconf-i686.h'
error: command 'swig' failed with exit status 1
-bash-3.1$


Installed OpenSSL is "OpenSSL 0.9.8a 11 Oct 2005", and it doesn't
have an "openssl/opensslconf-i686.h".  It has an "openssl/opensslconf-i386.h".

M2Crypto documentation says:
0.20.1:
    * OpenSSL 0.9.7 or newer
          o Some optional new features will require OpenSSL 0.9.8 or newer

so that's current.

The problem, of course, is that using "uname -m" is asking the wrong question.
It prints "i686" on CPUs that are 64-bit capable, even when they are running
a 32-bit version of Linux.  This is running on a 64-bit capable server.

The right question is "uname --hardware-platform".  That returns "i386" if
running on something emulating a 386, even it it's 64-bit capable.

With that change, the build runs to completion and and the regression tests
mostly run.  Test failure occurred at:

======================================================================
FAIL: test_cipher_ok (tests.test_ssl.MiscSSLClientTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/var/www/vhosts/sitetruth.com/private/downloads/M2Crypto/M2Crypto-0.20.1/tests/test_ssl.py", line 485, in test_cipher_ok
    assert s.get_cipher().name() == 'AES128-SHA', s.get_cipher().name()
AssertionError: AES256-SHA

----------------------------------------------------------------------
Ran 226 tests in 91.672s

Is 'AES128-SHA' a cypher that Fedora Core doesn't support, or what?


                                        John Nagle

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to