Fehlermeldung von mysql-python auf debian(etch)

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

Moin,
kennt jemand den folgenden Fehler auf einem Debian System.
Ich habe mysql-python für Python 2.5 installiert und nach dem "import _mysql" kommt folgende Fehleremeldung.
Python 2.5.2 (r252:60911, Jun 8 2008, 17:48:42)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import _mysql
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.linux-i686/egg/_mysql.py", line 7, in <module>
File "build/bdist.linux-i686/egg/_mysql.py", line 6, in __bootstrap__
ImportError: /root/.python-eggs/MySQL_python-1.2.2-py2.5-linux-i686.egg-tmp/_mysql.so: symbol __cmpdi2, version libmysqlclient_15 not defined in file libmysqlclient.so.15 with link time reference
Das einzigste was ich dazu gefunden habe ist ein MySql Bug in der Version 5.0.27 installiert ist bei mir allerdings 5.0.51a

Gruß
Damaskus
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Wie hast du es denn kompiliert? Debian bringt ja ein eigenes MySQL-Paket mit.

Hint: Man importiert nicht ``_mysql`` sondern ``MySQLdb``.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

Leonidas hat geschrieben:Hint: Man importiert nicht ``_mysql`` sondern ``MySQLdb``.
Ups... sry, hab ich ganz vergessen beim Arbeiten in der Konsole :)


Kompiliert hab ich als embedded. Mit angepassten Links auf die Struktur vom Forums Server. Was auch ohne Fehlermeldung gemacht wurde. Allerdings läuft der ganze build und install Prozess inzwischen über easy_install wovon ich nicht wirklich ein Freund bin und ich auch nicht wirklich weiss wo ich die durchgeführten Prozesse kontrollieren kann. Da ich keinerlei Logfile oder irgendwas vom Build erhalten habe und die Konsolen Ausgabe nicht viel mehr anzeigt als die ausgeführten Befehle und ein "erfolgreich" oder auch "nicht erfolgreich".

Gruß
Damaskus
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Damaskus hat geschrieben:Kompiliert hab ich als embedded.
Was meinst du mit "embedded"?

Jedenfalls sagt die Fehlermeldung dass die Shared Objects gegen die du es gelinkt hast nicht mit den Shared Objects zusammenpassen, die da sind. Da kann setuptools auch nichts dafür.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

Leonidas hat geschrieben:
Damaskus hat geschrieben:Kompiliert hab ich als embedded.
Was meinst du mit "embedded"?
Es gibt drei Varianten wie man MySQL einbinden kann
# embedded: link against the embedded server library
# threadsafe: use the threadsafe client
# static: link against a static library (probably required for embedded)

Leonidas hat geschrieben: Jedenfalls sagt die Fehlermeldung dass die Shared Objects gegen die du es gelinkt hast nicht mit den Shared Objects zusammenpassen, die da sind. Da kann setuptools auch nichts dafür.
Die benötigten Binaries etc für den Build Prozess holt sich setuptools direkt von der installierten Version von Mysql. Das ganze wird über die mysql_config, die bei der installation von Mysql angelegt wird, gesteuert.


Gruß
Damaskus
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Damaskus hat geschrieben:
Leonidas hat geschrieben:
Damaskus hat geschrieben:Kompiliert hab ich als embedded.
Was meinst du mit "embedded"?
Es gibt drei Varianten wie man MySQL einbinden kann
# embedded: link against the embedded server library
Hast du die überhaupt?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

Leonidas hat geschrieben:
Damaskus hat geschrieben:
Leonidas hat geschrieben:
Damaskus hat geschrieben:Kompiliert hab ich als embedded.
Was meinst du mit "embedded"?
Es gibt drei Varianten wie man MySQL einbinden kann
# embedded: link against the embedded server library
Hast du die überhaupt?
:?
War Müll was ich geschrieben hab!
Ich hab das ganze als threadsafe kompiliert.
Und die Variante hab ich auch auf dem Server. :wink:

Gruß
Damaskus
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Gibt's einen Grund, warum du das nicht über apt-get bzw. aptitude installierst?
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

mkallas hat geschrieben:Gibt's einen Grund, warum du das nicht über apt-get bzw. aptitude installierst?
Jup, weils für Debian Etch kein Paket für Python 2.5 gibt.

Gruß
Damaskus

EDIT:
Lösung des Problems:
Es gab einen falschen Eintrag in der mysql_config Datei und in der my.conf war ein Pfad nicht korrekt.
Antworten