Seite 1 von 1

Auch Problem mit Matplotlib

Verfasst: Dienstag 1. Februar 2011, 22:23
von Photor
Hallo Forum,

ich habe (auch) ein Problem mit der Matplotlib und zwar unter Debian Squeeze. Ich habe das auch schon in der Debian Maillist beschrieben (weil ich denke, es liegt an den deb-Paketen), aber keine richtige Atwort bekommen. Ich brauche wohl mehr Python-Know-How als Debian-Know-How.

Das Problem äußert sich auf meinem Laptop (IBM ThinkPad X24; Intel 32-bit), auf meinem Desktop (AMD64) aber NICHT. :shock:

Auf dem Laptop passiert folgendes:

Code: Alles auswählen

photor@7of9:~> python
Python 2.6.6 (r266:84292, Dec 27 2010, 00:02:40) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pylab
Ungültiger Maschinenbefehl
photor@7of9:~>
Gleiches auf dem Desktop funktioniert klaglos und ich kann die Matplotlib ganz normal nutzen. Paketversionen aller(?) relevanten Pakete sind gleich (Listen kann ich - falls nötig - bereitstellen).

Was ich hier fragen möchte: wie kann ich rausbekommen, wo dieser ominöse "Ungültiger Maschinenbefehl" auftritt? Das könnte mir ja vielleicht einen Hinweis geben, was falsch läuft; ob es sich um eine schlechte Konfiguration oder um einen Bug in einem der Python-debs handelt.

Danke für jede Hilfe,

Photor

Re: Auch Problem mit Matplotlib

Verfasst: Mittwoch 2. Februar 2011, 17:33
von Mr_Snede
Was sagt:

Code: Alles auswählen

snede@knecht:~$ locate pylab.py
bei dir?

Bei mir liegts in den folgenden Ordnern:

Code: Alles auswählen

/usr/lib/pymodules/python2.6/pylab.py
/usr/lib/pymodules/python2.6/pylab.pyc

/usr/lib/pymodules/python2.6/matplotlib/pylab.py
/usr/lib/pymodules/python2.6/matplotlib/pylab.pyc

/usr/share/pyshared/pylab.py
Bin zwar mit nem aktuellen Ubuntu unterwegs aber sollte sich nicht groß unterscheiden.

Re: Auch Problem mit Matplotlib

Verfasst: Mittwoch 2. Februar 2011, 17:47
von mkesper
Benutze Debian reportbug. Das sammelt alle relevanten Infos über deine installierten Pakete und hilft dir zu schauen, ob der Bug schon gemeldet ist.

Re: Auch Problem mit Matplotlib

Verfasst: Mittwoch 2. Februar 2011, 18:26
von Photor
Moin Mr_Snede,
Mr_Snede hat geschrieben: Bei mir liegts in den folgenden Ordnern:

Code: Alles auswählen

/usr/lib/pymodules/python2.6/pylab.py
/usr/lib/pymodules/python2.6/pylab.pyc

/usr/lib/pymodules/python2.6/matplotlib/pylab.py
/usr/lib/pymodules/python2.6/matplotlib/pylab.pyc

/usr/share/pyshared/pylab.py
Bin zwar mit nem aktuellen Ubuntu unterwegs aber sollte sich nicht groß unterscheiden.
Sieht hier auch nicht viel anders aus:

Code: Alles auswählen

photor@7of9:~> locate pylab.py
/home/share/pyshared/pylab.py
/home/share/pyshared/matplotlib/pylab.py
/usr/lib/pymodules/python2.6/pylab.py
/usr/lib/pymodules/python2.6/pylab.pyc
/usr/lib/pymodules/python2.6/matplotlib/pylab.py
/usr/lib/pymodules/python2.6/matplotlib/pylab.pyc
photor@7of9:~> 
Das mit dem /home liegt daran, dass die /usr-Partition etwas knapp wurde und ich deshalb share in die /home-Partition verschoben und einen Link unter /usr nach /home/share gelegt habe.

Ciao,

Photor

Re: Auch Problem mit Matplotlib

Verfasst: Freitag 11. Februar 2011, 22:15
von Photor
Hallo Forum,

hab' noch nicht aufgegeben und mal "strace" genutzt, um mehr Infos zu bekommen hier nur die letzten Zeilen):

Code: Alles auswählen

strace python pytest.py
[...]
stat64("/usr/lib/pymodules/python2.6/matplotlib/lines", 0xbfc27bb0) = -1 ENOENT (No such file or directory)
open("/usr/lib/pymodules/python2.6/matplotlib/lines.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/lib/pymodules/python2.6/matplotlib/linesmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/lib/pymodules/python2.6/matplotlib/lines.py", O_RDONLY|O_LARGEFILE) = 7
fstat64(7, {st_mode=S_IFREG|0644, st_size=54685, ...}) = 0
open("/usr/lib/pymodules/python2.6/matplotlib/lines.pyc", O_RDONLY|O_LARGEFILE) = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=55711, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb62f9000
read(8, "\321\362\r\nS\314\267Jc\0\0\0\0\0\0\0\0\24\0\0\0@ \0\0s\247\1\0\0d\0"..., 4096) = 4096
fstat64(8, {st_mode=S_IFREG|0644, st_size=55711, ...}) = 0
read(8, "\0Z\215\0d\300\0\204\0\0Z\216\0d\301\0\204\0\0Z\217\0d\302\0\204\0\0Z\220\0d"..., 49152) = 49152
read(8, "s.draw()\n\n        fig = plt.figu"..., 4096) = 2463
read(8, "", 4096)                       = 0
close(8)                                = 0
munmap(0xb62f9000, 4096)                = 0
--- SIGILL (Illegal instruction) @ 0 (0) ---
+++ killed by SIGILL +++
Also irgendwas passiert beim lesen von "/usr/lib/pymodules/python2.6/matplotlib/lines.pyc", also einem compilierten Modul. Soviel lese ich heraus. Aber das war es auch schon.

Vielleicht weiß ja jemand hier mehr damit anzufangen, als ich. Ich wollte zumindest hier nocheinmal nachfragen, bevor ich ein Bug melde (ich habe immer noch das Gefühl, dass es sich nur um eine Kleinigkeit handelt und kein prinzipieller Bug ist).

Wenn jemand weiter weiß, bin ich dankbar für jeden Tipp.

Ciao,

Photor