Python-MySQLdb problem: wrong ELF class: ELFCLASS3

2019-07-26 06:20发布

问题:

As part of trying out django CMS (http://www.django-cms.org/), I'm struggling with getting Python-MySQLdb to work (http://pypi.python.org/pypi/MySQL-python/).

  • I have installed Django CMS and all of its dependencies (Python 2.5, Django, django-south, MySQL server)
  • I'm trying out the example code within Django CMS code with MySQL as chosen database type

When I execute python manage.py syncdb, the following error occurs:

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: /root/.python-eggs/MySQL_python-1.2.3c1-py2.5-linux-i686.egg-tmp/_mysql.so: wrong ELF class: ELFCLASS32

I have been able to trace the problem specifically to python-mySQLdb (as also visible in the stack trace). Other than that, I am completely puzzled. I don't have a clue what ELFCLASS32 means, or what ELF class is anyway.

I suspect that this error could have something to do with the fact that I am running 64-bit version of Debian 5 (on a VPS).

Any good ideas how to troubleshoot?

回答1:

Yes, the bit difference is what's causing this. Find or build a 64-bit version of MySQLdb.

ELF is the Executable and Linkable Format. ELFCLASS32 means that it's a 32-bit ELF file.