More M2Crypto issues

John Nagle nagle at animats.com
Fri Jan 19 20:20:34 EST 2007


Heikki Toivonen wrote:
> John Nagle wrote:
> 
>>    Actually, at the moment I'm having an M2Crypto problem related
>>to a SWIG/OpenSSL conflict.  Older versions of OpenSSL have an
>>include file that needs __i386__ defined, which is something GCC
>>does based on what platform you're on.  SWIG uses CPP, but
>>doesn't set the platform defines, so the SWIG phase of the
>>M2Crypto build fails.  I'm currently trying to get the shared
>>host where that build took place upgraded to a later version of
>>OpenSSL, but that requires a server restart, so it may take
>>a few days.  I'm doing something that requires M2Crypto to
>>run on a range of machines, which turns out to be rather harder
>>than expected.
> 
> 
> Which version of OpenSSL is that?

M2Crypto 0.17 requirements:
	Python 2.3 or newer
           o m2urllib2 requires Python 2.4 or newer
	OpenSSL 0.9.7 or newer
           o Some optional new features will require OpenSSL 0.9.8 or newer
	SWIG 1.3.24 or newer

Server in use:
	Python version: "Python 2.5 (r25:51908, Jan 18 2007, 10:46:37)"
	OpenSSL version: "OpenSSL 0.9.7a Feb 19 2003"
	SWIG version: "SWIG Version 1.3.31"
	GCC version: "[GCC 3.4.4 20050721 (Red Hat 3.4.4-2)] on linux2"
	Computer: Athlon 686 rackmount server.

The actual build failure is:

running build_ext
building 'M2Crypto.__m2crypto' extension
swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
swig -python -I/usr/include -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
/usr/include/openssl/opensslconf.h:27: Error: CPP #error ""This openssl-devel 
package does not work your architecture?"". Use the -cpperraswarn option to 
continue swig processing.
error: command 'swig' failed with exit status 1

The problem is that "opensslconf.h" expects the compiler to define __i386__
when running the C preprocessor, and SWIG doesn't do that.  Compare
"opensslconf.h" in different versions of OpenSSL; it's changed considerably.

					John Nagle



More information about the Python-list mailing list