Compiling Python 3.3.2 on CentOS 6.4 - unable to find compiled OpenSSL?

Victor Hooi victorhooi at gmail.com
Mon Nov 4 19:23:13 EST 2013


Hi,

We have a machine running CentOS 6.4, and we're attempting to compile Python 3.3.2 on it:

	# cat /etc/redhat-release
	CentOS release 6.4 (Final)

We've compiled openssl 1.0.1e 11 by hand on this box, and installed it into /usr/local/:

	# openssl
	OpenSSL> version
	OpenSSL 1.0.1e 11 Feb 2013
	 
	# ls /usr/local/include/openssl/
	aes.h       blowfish.h  cmac.h      crypto.h   dso.h     ec.h      hmac.h      md4.h      obj_mac.h      pem2.h    rand.h    safestack.h  ssl23.h  symhacks.h   ui.h
	asn1.h      bn.h        cms.h       des.h      dtls1.h   engine.h  idea.h      md5.h      ocsp.h         pem.h     rc2.h     seed.h       ssl2.h   tls1.h       whrlpool.h
	asn1_mac.h  buffer.h    comp.h      des_old.h  ebcdic.h  e_os2.h   krb5_asn.h  mdc2.h     opensslconf.h  pkcs12.h  rc4.h     sha.h        ssl3.h   ts.h         x509.h
	asn1t.h     camellia.h  conf_api.h  dh.h       ecdh.h    err.h     kssl.h      modes.h    opensslv.h     pkcs7.h   ripemd.h  srp.h        ssl.h    txt_db.h     x509v3.h
	bio.h       cast.h      conf.h      dsa.h      ecdsa.h   evp.h     lhash.h     objects.h  ossl_typ.h     pqueue.h  rsa.h     srtp.h       stack.h  ui_compat.h  x509_vfy.h

However, when we try to build Python 3.3.2, it can't seem to find the SSL installation:

# make
	-----------------------------------------------
	Modules/Setup.dist is newer than Modules/Setup;
	check to make sure you have all the updates you
	need in your Modules/Setup file.
	Usually, copying Modules/Setup.dist to Modules/Setup will work.
	-----------------------------------------------
	running build
	running build_ext
	INFO: Can't locate Tcl/Tk libs and/or headers
	building '_ssl' extension
	gcc -pthread -fPIC -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I./Include -I. -IInclude -I/usr/local/include -I/root/Python-3.3.2/Include -I/root/Python-3.3.2 -c /root/Python-3.3.2/Modules/_ssl.c -o build/temp.linux-x86_64-3.3/root/Python-3.3.2/Modules/_ssl.o
	gcc -pthread -shared build/temp.linux-x86_64-3.3/root/Python-3.3.2/Modules/_ssl.o -L/usr/local/lib -lssl -lcrypto -o build/lib.linux-x86_64-3.3/_ssl.cpython-33m.so
	*** WARNING: renaming "_ssl" since importing it failed: build/lib.linux-x86_64-3.3/_ssl.cpython-33m.so: undefined symbol: EC_KEY_new_by_curve_name
	 
	Python build finished, but the necessary bits to build these modules were not found:
	_dbm               _gdbm              _lzma          
	_tkinter                                              
	To find the necessary bits, look in setup.py in detect_modules() for the module's name.
	 
	 
	Failed to build these modules:
	_ssl                                                 
	 
	running build_scripts
	copying and adjusting /root/Python-3.3.2/Tools/scripts/pydoc3 -> build/scripts-3.3
	copying and adjusting /root/Python-3.3.2/Tools/scripts/idle3 -> build/scripts-3.3
	copying and adjusting /root/Python-3.3.2/Tools/scripts/2to3 -> build/scripts-3.3
	copying and adjusting /root/Python-3.3.2/Tools/scripts/pyvenv -> build/scripts-3.3
	changing mode of build/scripts-3.3/pydoc3 from 644 to 755
	changing mode of build/scripts-3.3/idle3 from 644 to 755
	changing mode of build/scripts-3.3/2to3 from 644 to 755
	changing mode of build/scripts-3.3/pyvenv from 644 to 755
	renaming build/scripts-3.3/pydoc3 to build/scripts-3.3/pydoc3.3
	renaming build/scripts-3.3/idle3 to build/scripts-3.3/idle3.3
	renaming build/scripts-3.3/2to3 to build/scripts-3.3/2to3-3.3
	renaming build/scripts-3.3/pyvenv to build/scripts-3.3/pyvenv-3.3

I also tried editing the Modules/Setup.dist file, no luck there either.

Any thoughts on what we're doing wrong?

Cheers,
Victor



More information about the Python-list mailing list