Opened 17 years ago
Closed 16 years ago
#5699 closed defect (duplicate)
Python 2.5.1 and _md5
Reported by: | Owned by: | Christopher Lenz | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | admin/console | Version: | |
Severity: | minor | Keywords: | python25 python26 |
Cc: | miwinter@… | Branch: | |
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
I recently just upgraded to python 2.5.1 (from source), and now when running trac-admin receive the following error:
Traceback (most recent call last): File "/usr/bin/trac-admin", line 21, in <module> from trac.scripts.admin import run File "/usr/lib/python2.5/site-packages/trac/scripts/admin.py", line 27, in <module> from trac import perm, util, db_default File "/usr/lib/python2.5/site-packages/trac/perm.py", line 21, in <module> from trac.config import ExtensionOption File "/usr/lib/python2.5/site-packages/trac/config.py", line 26, in <module> from trac.util import sorted File "/usr/lib/python2.5/site-packages/trac/util/__init__.py", line 21, in <module> import md5 File "/usr/lib/python2.5/md5.py", line 6, in <module> from hashlib import md5 File "/usr/lib/python2.5/hashlib.py", line 133, in <module> md5 = __get_builtin_constructor('md5') File "/usr/lib/python2.5/hashlib.py", line 60, in __get_builtin_constructor import _md5 ImportError: No module named _md5
Attachments (0)
Change History (12)
comment:1 by , 17 years ago
follow-up: 10 comment:2 by , 17 years ago
Keywords: | python25 python26 added |
---|---|
Milestone: | → 1.0 |
Severity: | normal → minor |
Well, deprecated the use doesn't mean the code won't work anymore.
As you can see from the backtrace, doing import md5
actually triggers a from hashlib import md5
. The failure you actually have is that it can't load the (binary) module _md5
. As you said you've built 2.5.1 from source, I suspect that module was simply not built or installed.
That being said, we can be a bit more future proof, the way suggested in the patch above.
comment:3 by , 17 years ago
How would I resolve this for my installation of trac? The traceback seems to be pointing to different files then the patch linked. I guess i could just apply the patch to said file anyway.
comment:4 by , 17 years ago
This has nothing to do with Trac, it's your Python build which is broken. In the Python interactive interpreter, try:
$ python >>> from hashlib import md5
I'm quite sure you'll get the same error.
comment:5 by , 17 years ago
Any suggestions then? (Other then backing python down to 2.4.x, I have another important app that requires 2.5)
comment:7 by , 17 years ago
Do you see a difference when you run
$ env python >>> from hashlib import md5
vs(notice the '-')
$ env - python >>> from hashlib import md5
I had the strange case, that the first one worked, the second one didn't. It turned out, that the my shell script (a svn post-commit script actually) somehow lost the environment variables, and therefore also lost the value in LD_LIBRARY_PATH, which contained the search path where python would normally find the md5 module (like in the first case).
I fixed it by setting LD_LIBRARY_PATH in the (shell) script directly so that it could find the needed library.
comment:8 by , 17 years ago
I fixed the problem by recompiling both apache and mod_python. That is on gentoo box.
comment:9 by , 17 years ago
Hi, can you help me out about how to use the models.py. Beacuase I don´t know which files I have to modify or recompile or where I have to put this file to solve the problem of md5.
Thanks in advance.
comment:10 by , 16 years ago
Milestone: | 1.0 |
---|---|
Resolution: | → duplicate |
Status: | new → closed |
Replying to cboos:
Well, deprecated the use doesn't mean the code won't work anymore. As you can see from the backtrace, doing
import md5
actually triggers afrom hashlib import md5
. The failure you actually have is that it can't load the (binary) module_md5
. As you said you've built 2.5.1 from source, I suspect that module was simply not built or installed.
worksforme for that part, as said in comment:8
That being said, we can be a bit more future proof, the way suggested in the patch above.
See #7458 which has a patch (many actually ;-) ).
comment:11 by , 16 years ago
Cc: | added |
---|---|
Component: | admin/console → general |
Keywords: | _md5 openssl added; python26 removed |
Priority: | normal → high |
Resolution: | duplicate |
Severity: | minor → critical |
Status: | closed → reopened |
Well somehow a few weeks ago I got buildbot to install, apparently with bandaids and bailing wire and some trick Ive forgotten. I could use some help. Either with memory or how to disable ssl or include the correct header i think this requires an override for value from uname -p, since openssl-64 header is missing, so I want to revert to using the headers for i386. Im looking for the flag to configure to execute this override to pass to configure, so far w/o success Then with recent makefile cleanup (buildbot installs fine on xe-sawwing) and reinstall attempt I think I hit a python version /openssl version mismatch. So for now, buildbot master and checkout client is broken. http://www.nabble.com/-Bug-36016--python,-ASSIGNED:-python-hash-libraries-missing,-can-not-resolve-md5-_md5-for-example-(after-2.5.1-hashlib-reorg)-td18048988.html compilation issue expresses in python build w/ syntax issues in ssl headers. adb-bldsrv-04: rpm -qf /usr/include/openssl/bn.h
openssl-devel-0.9.7a-43.14 adb-bldsrv-04: uname -a Linux adbu-bldsrv-04 2.6.9-42.7.ELsmp #1 SMP Tue Sep 5 18:25:41 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux
adb-bldsrv-04: rpm -qa|grep opens
openssl-devel-0.9.7a-43.14 openssh-askpass-gnome-3.9p1-8.RHEL4.15 openssh-clients-3.9p1-8.RHEL4.15 openssh-server-3.9p1-8.RHEL4.15 openssh-3.9p1-8.RHEL4.15 xmlsec1-openssl-1.2.6-3 openssl-0.9.7a-43.14 openssh-askpass-3.9p1-8.RHEL4.15 openssl-0.9.7a-43.14
Whereas on a 32bit box build with same makefile is fine: xe-sawwing: rpm -qf /usr/include/openssl/bn.h
openssl-devel-0.9.7a-33.21.Reactivity.2
xe-sawwing: uname -a
Linux sawwing.reactivity.com 2.4.21-47.ELsmp #1 SMP Wed Jul 5 20:38:41 EDT 2006 i686 i686 i386 GNU/Linux
xe-sawwing: rpm -qa|grep opens
openssh-server-3.6.1p2-33.30.12.Reactivity.1 openssh-clients-3.6.1p2-33.30.12.Reactivity.1 openssl-0.9.7a-33.21.Reactivity.2 openssl-devel-0.9.7a-33.21.Reactivity.2 openssh-3.6.1p2-33.30.12.Reactivity.1
xe-sawwing: rpm -qf /usr/include/openssl/bn.h
openssl-devel-0.9.7a-33.21.Reactivity.2
on adbu-bldsrv, first exception is seen here….
from /work/miwinter/sandbox/waas/test/Python-2.5.2/Modules/_ssl.c:36:
/usr/include/openssl/opensslconf.h:25:32: opensslconf-x86_64.h: No such file or directory In file included from /usr/include/openssl/asn1.h:67,
from /usr/include/openssl/rsa.h:62, from
/work/miwinter/sandbox/waas/test/Python-2.5.2/Modules/_ssl.c:36: /usr/include/openssl/bn.h:245: error: syntax error before "BN_ULONG"
then after 'successfully' completing and requesting install of setuptools cant find module _md5 workaround? consider forcing compilaton for i686 or different combo of openssl version?
comment:12 by , 16 years ago
Component: | general → admin/console |
---|---|
Keywords: | python26 added; _md5 openssl removed |
Priority: | high → normal |
Resolution: | → duplicate |
Severity: | critical → minor |
Status: | reopened → closed |
WrongTrac or spam?
More info:
"Python 2.5 has deprecated the use of the sha1 and md5 modules in favor of the hashlib module. A patch will be following that implements django.contrib.auth.models methods using hashlib."
http://code.djangoproject.com/ticket/3604