Seite 1 von 1
cairo und pycairo Problem
Verfasst: Montag 26. November 2007, 07:07
von iclou
Hallo
Ich habe die folgende Konfiguration under suse 9.3
python 2.4
cairo 1.4.10
pycairo 1.4.0
Wenn ich python -c 'import cairo' aufrufe, erhalte ich den folgenden Fehler:
Traceback (most recent call last):
File "<string>", line 1, in ?
File "/usr/lib/python2.4/site-packages/cairo/__init__.py", line 1, in ?
from _cairo import *
ImportError: /usr/lib/python2.4/site-packages/cairo/_cairo.so: undefined symbol: cairo_pdf_surface_set_dpi
Kann mir jemand hier helfen, das zu korrigieren?
--
Vielen Dank für jeglichen Tipp
Mike
Verfasst: Montag 26. November 2007, 19:17
von Leonidas
Hallo Mike, willkommen im Forum,
Die `/usr/lib/python2.4/site-packages/cairo/_cairo.so` ist nicht gegen die richtige cairo-Version gelinkt, das ABI scheint sich geändert zu haben. Wenn du das über eine Binär-Distribution bekommen hast, ist das ein Bug. Neukompilieren löst das Problem aber (das hat man manchmal bei Gentoo).
Verfasst: Montag 26. November 2007, 21:38
von iclou
Hallo!
Vielen Dank für die nette Begrüssung!
Ich hatte cairo und pycairo durch configure/make/make install installiert. Python durch binary install.
Muss ich denn Python auch neu compilieren, oder wie kann ich das sonst lösen?
--
Danke für jegliche Hilfe.
Grüsse
Mike
Verfasst: Montag 26. November 2007, 22:35
von Leonidas
iclou hat geschrieben:Ich hatte cairo und pycairo durch configure/make/make install installiert. Python durch binary install.
Komisch, sowas sollte eigentlich nicht passieren, denn die Fehlermeldung sagt eigentlich, dass das ABI von pycairo nicht zum ABI von cairo passt.
Verfasst: Dienstag 27. November 2007, 21:34
von iclou
Ich hatte nun cairo und pycairo de-installiert und hatte dann noch eine alte cairo Version installiert - diese habe ich nun auch de-installiert.
Dann habe ich nochmals cairo und pycairo installiert. Nach dem make von cairo habe ich make check gemacht und da sieht alles gut aus.
Wenn ich aber python -c 'import cairo' mache, dann erhalte ich den folgenden Fehler:
Traceback (most recent call last):
File "<string>", line 1, in ?
ImportError: No module named cairo
Wenn mir da jemand helfen kann, dann wäre ich echt dankbar!
Gruss
Mike
Verfasst: Dienstag 27. November 2007, 21:53
von iclou
Cairo ist in einem anderen directory installiert worden - ich habe nun das cairo dir einfach an das richtige Ort kopiert und nun läuft alles.
Trotzdem habe ich 2 Fragen:
1) Hat das manuell kopieren Konsequenzen
2) Warum wird das nicht im standard Pfad installiert?
--
Danke jedenfalls für die Hilfe
Mike
Verfasst: Mittwoch 28. November 2007, 10:36
von Leonidas
iclou hat geschrieben:1) Hat das manuell kopieren Konsequenzen
Sofern es gefunden wird - nein.
iclou hat geschrieben:2) Warum wird das nicht im standard Pfad installiert?
Weil es einen anderen Default-Pfad hat? In autoconf-basierten Skripten kannst du `--prefix` angeben. Und Python-Module nutzen meist für die Installation `distutils`, die kümmern sich normalerweise darum, dass alles im richtigen Ordner landet.