py26-enchant missing lib '_md5'

Ned Deily nad at acm.org
Sat Mar 26 10:45:05 PDT 2011


In article <C0EAC0CE-9290-456A-969D-7876C3D18E28 at iname.com>,
 Philip Hudson <phil.hudson at iname.com> wrote:

> Titanium PowerBook G4, 1GHz, OS 10.5.8
> 
> > :info:destroot   File "/opt/local/Library/Frameworks/ 
> > Python.framework/Versions/2.6/lib/python2.6/hashlib.py"
> > , line 63, in __get_builtin_constructor
> > :info:destroot     import _md5
> > :info:destroot ImportError: No module named _md5
> > :info:destroot shell command " cd "/opt/local/var/macports/build/ 
> > _opt_local_var_macports_sources_rsync.macpo
> > rts.org_release_ports_python_py26-enchant/work/pyenchant-1.6.5" && / 
> > opt/local/Library/Frameworks/Python.fram
> > ework/Versions/2.6/bin/python2.6 setup.py --no-user-cfg install -- 
> > prefix=/opt/local/Library/Frameworks/Pytho
> > n.framework/Versions/2.6 --root=/opt/local/var/macports/build/ 
> > _opt_local_var_macports_sources_rsync.macports
> > .org_release_ports_python_py26-enchant/work/destroot " returned  
> > error 1
> > :error:destroot Target org.macports.destroot returned: shell command  
> > failed (see log for details)
> > :debug:destroot Backtrace: shell command failed (see log for details)
> >     while executing
> > "command_exec destroot"
> >     (procedure "portdestroot::destroot_main" line 2)
> >     invoked from within
> > "$procedure $targetname"
> > :info:destroot Warning: the following items did not execute (for  
> > py26-enchant): org.macports.activate org.ma
> > cports.destroot org.macports.install
> > :error:destroot Failed to install py26-enchant
> > :notice:destroot Log for py26-enchant is at: /opt/local/var/macports/ 
> > logs/_opt_local_var_macports_sources_rs
> > ync.macports.org_release_ports_python_py26-enchant/main.log
> 
> Googled lots, going round in circles: hashlib, openssl, md5, _md5,  
> wtf... doesn't seem to make a difference whether OS X Python or  
> MacPorts Python is first on $PATH...

IIRC, in Python 2.6, it was possible to get the building of hashlib 
confused when building Python.  Basically, at build time, it tries to 
find openssl and build hashlib to link with it.  If it can't find the 
openssl lib, it builds its own versions and that's what _md5 is supposed 
to be.  But sometimes it could get it wrong but I don't remember the 
exact sequence.  Possibly one way could have been a conflicting version 
of openssl in /usr/local/lib,

However, you should be able to get it to build and work properly (among 
other platforms, I have it on a G4 running 10.5).  I'd suggest the 
following steps:

First, check to see that you don't have a version of openssl in 
/usr/local/bin.

ls -l /usr/local/lib/libssl*

If you do, figure out if you really need it and either delete it or 
rename it out of the way before going on to the next steps.

sudo port selfupdate
sudo port -f uninstall python26
sudo port -f uninstall openssl
sudo port install openssl
sudo port install python26

-- 
 Ned Deily,
 nad at acm.org



More information about the macports-users mailing list