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