classification
Title: Make Test Error : ImportError: No module named _sha256
Type: compile error Stage:
Components: Build Versions: Python 2.7
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: BreamoreBoy, amaury.forgeotdarc, eric.araujo, gregory.p.smith, vstinner, wah meng
Priority: normal Keywords:

Created on 2011-09-01 10:42 by wah meng, last changed 2014-07-02 15:28 by gregory.p.smith. This issue is now closed.

Messages (14)
msg143315 - (view) Author: Wong Wah Meng (wah meng) Date: 2011-09-01 10:42
Hi there, 
I just build python 2.7.1 on my HP 11.31 Itanium 64 bit machine using gcc. When I finished the build and run "make test". It gives me error as depicted below:-

 

$ ./python Lib/test/regrtest.py -v      

Traceback (most recent call last):

  File "Lib/test/regrtest.py", line 157, in <module>

    import random

  File "/home/r32813/Build/2.7.1/Python-2.7.1/Lib/random.py", line 49, in <module>

    import hashlib as _hashlib

  File "/home/r32813/Build/2.7.1/Python-2.7.1/Lib/hashlib.py", line 136, in <module>

    globals()[__func_name] = __get_hash(__func_name)

  File "/home/r32813/Build/2.7.1/Python-2.7.1/Lib/hashlib.py", line 74, in __get_builtin_constructor

    import _sha256

ImportError: No module named _sha256

This is the server information. 

$ uname -a

HP-UX zmy02hp3 B.11.31 U ia64 3240906838 unlimited-user license 

Here is other information in the configure.log file. 

Target: ia64-hp-hpux11.23

Configured with: /tmp/gcc-4.4.3.tar.gz/gcc-4.4.3/configure --host=ia64-hp-hpux11.23 --target=ia64-hp-hpux11.23 --build=ia64-hp-hpux11.23 --prefix=/opt/hp-

gcc-4.4.3 --with-gnu-as --without-gnu-ld --enable-threads=posix --enable-languages=c,c++ --with-gmp=/proj/opensrc/be/ia64-hp-hpux11.23 --with-mpfr=/proj/o

pensrc/be/ia64-hp-hpux11.23 SED=/usr/bin/sed

Thread model: posix
msg143318 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2011-09-01 11:22
Please run the "make" command again.  It will list the modules that were skipped and not compiled.  Which modules do you see there?
Also, which version of OpenSSL is installed?
msg143326 - (view) Author: Wong Wah Meng (wah meng) Date: 2011-09-01 13:48
Thanks for your reply:

This is the output of the make, _ctypes and termios are failed to build.

Python build finished, but the necessary bits to build these modules were not found:
_bsddb             _curses            _curses_panel   
_sqlite3           _ssl               _tkinter        
bsddb185           bz2                gdbm            
linuxaudiodev      ossaudiodev        readline        
spwd               sunaudiodev        zlib            
To find the necessary bits, look in setup.py in detect_modules() for the module's name.


Failed to build these modules:
_ctypes            termios                            

running build_scripts
$ 

On version of OpenSSL on this server, I need to check with my Unix admin first, as I don't know what command to run to check what software and its version installed. :P. Will revert to you!
msg143327 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-09-01 13:56
Do you have OpenSSL headers?
msg143345 - (view) Author: Gregory P. Smith (gregory.p.smith) * (Python committer) Date: 2011-09-01 19:40
The fact that it called __get_builtin_constructor implies that the ssl backed _hashlib module was not available.  It looks like the non-openssl standalone _sha256 module (and likely the _sha512 module) both failed to be compiled.

I would not expect that to ever happen when using gcc regardless of the OS and crazy architecture.
msg143384 - (view) Author: Wong Wah Meng (wah meng) Date: 2011-09-02 07:08
Hi there, thanks for the reply. 

I need a bit more clue on what else I can do, other than I have these 3 items in my checklist:-

1.) I will have HP-UX ANSI C/C++ Compiler soon. I can recompile using that compiler later if this is a gcc related thing.
2.) If I am not using my python to perform any SSL user authentication function, can I skip correcting this? 
3.) I am still checking with my Unix admin on the OpenSSL Header and version thing. Will revert.
msg143385 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2011-09-02 07:29
The setup.py script does not look correct when openssl is not installed:
the _sha256 and _sha512 modules are compiled under this condition::
    if COMPILED_WITH_PYDEBUG or openssl_ver < min_sha2_openssl_ver:

By comparison, the _md5 module adds the condition: "or not have_usable_openssl"
msg143420 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2011-09-02 17:12
> 1.) I will have HP-UX ANSI C/C++ Compiler soon. I can recompile using
> that compiler later if this is a gcc related thing.
On the contrary, Gregory said that gcc should work (it’s what most of us use, I think).

> 2.) If I am not using my python to perform any SSL user authentication function,
> can I skip correcting this?
This bug is about hashlib (http://docs.python.org/2.7/library/hashlib), a module providing checksum functions.  It is not related to SSL, but merely uses code from the OpenSSL project.


> The setup.py script does not look correct when openssl is not installed:
The full openssl or only headers?
msg144122 - (view) Author: Wong Wah Meng (wah meng) Date: 2011-09-16 11:17
I revert to this after I got my HP-UX ANSI-C compiler installed on my server (HP-UX 11.31 ia64). 

1.) Going back to SSL question, here is the software and version that is found on my server. I am not sure if this is the header only or the full file. However, since I am not using this module in my application, I am going to bypass correcting this error for time being:

  openssl -- A.00.09.08g.031 Secure Network Communications Protocol 
  fips_1_1_2 -- FIPS-OPENSSL-1.1.2.031 Secure Network Communications Protocol

2.) Ok I got my HP C compiler and the build outcome gives me more headaches. I am going to open a new thread of discussion just talk about the build options. Thanks guys for answering to this earlier. 

Regards,
Wah Meng
msg144684 - (view) Author: Wong Wah Meng (wah meng) Date: 2011-09-30 10:57
I tried again the build, after a new openSSL is installed on by my UNIX admin. The OpenSSL version is A.00.09.08r.003. The same result is generated when random is tested. The hashlib cannot be imported due to missing _sha256. 

In my build, I explicitly pass in -I to include header files of openssl, and -L to link up the libraries in openssl. 

export CC="cc +DD64 -I/home/r32813/local/include -I/opt/openssl/include"
export LDFLAGS="-L/home/r32813/local/lib -L/opt/openssl/lib -L/home/r32813/Build/2.7.1/Python-2.7.1"

Could anyone re-look at this issue again?
msg144869 - (view) Author: Wong Wah Meng (wah meng) Date: 2011-10-04 10:37
Hello there,

I am encountering more modules/commands that uses the harslib that needs _sha256. I still haven't found a solution. Can anyone shed some lights here whether or not this is related to the way I "include" and "link" the library, or is that the _sha256 is not found on the server though I already have the server installed with the latest OpenSSL software? Thanks in advance for any reply, and I appreciate your input.
msg148332 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2011-11-25 16:29
Sorry to be of little help.  I also have a problem with hashlib, but it’s with Python 2.4 on Debian multiarch with linux3, so probably different from your problem.  You could try asking on the python-dev mailing list.
msg177809 - (view) Author: Encolpe DEGOUTE (encolpe) Date: 2012-12-20 10:06
I my experience this error comes when SASL headers are missing during the build. Under debian or ubuntu it's the package named libsasl2-dev.
msg222087 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2014-07-02 08:10
Are we still interested in a 2.7.1 build issue?  Note that regrtest is aimed at core developers only.
History
Date User Action Args
2014-07-02 15:28:01gregory.p.smithsetstatus: open -> closed
resolution: out of date
2014-07-02 08:12:39encolpesetnosy: - encolpe
2014-07-02 08:10:27BreamoreBoysetnosy: + BreamoreBoy
messages: + msg222087
components: + Build, - Tests
2012-12-20 10:06:29encolpesetnosy: + encolpe
messages: + msg177809
2011-11-25 16:29:04eric.araujosetmessages: + msg148332
2011-10-04 10:37:13wah mengsetmessages: + msg144869
2011-09-30 10:57:56wah mengsetmessages: + msg144684
2011-09-16 11:17:24wah mengsetmessages: + msg144122
2011-09-02 17:12:55eric.araujosetnosy: + eric.araujo
messages: + msg143420
2011-09-02 07:29:06amaury.forgeotdarcsetmessages: + msg143385
2011-09-02 07:08:52wah mengsetmessages: + msg143384
2011-09-01 19:40:46gregory.p.smithsetmessages: + msg143345
2011-09-01 18:23:38pitrousetnosy: + gregory.p.smith
2011-09-01 13:56:06vstinnersetnosy: + vstinner
messages: + msg143327
2011-09-01 13:48:51wah mengsetmessages: + msg143326
2011-09-01 11:22:14amaury.forgeotdarcsetnosy: + amaury.forgeotdarc
messages: + msg143318
2011-09-01 10:42:19wah mengcreate