Plötzlich läuft Qwt nicht mehr

Schon wieder Stress mit dem Mac. Ich arbeite momentan wieder intensiv an Programm #1, und habe mich bis jetzt auf einer Linux-Maschine in unserem experimentellen Raum darum gekümmert. Da mein Zimmerkollege heute nicht da ist, wollte ich mal in Ruhe im Büro arbeiten. Auf dem iMac, den ich von Uschi geerbt habe. Mac hasse ich immer noch, aber es sollte für meine Zwecke heute reichen.

Also, neueste Dateien rüber kopiert und Programm #1 gestartet. Programm #1 ist mit Python und PyQt4 geschrieben, mit Qwt5 für die Darstellung von Graphen. Inzwischen weiß ich, dass diese Teile am besten mit homebrew zu installieren sind, und bin ohne große Probleme von Maverick zu Yosemite zu El Capitan gewechselt.

Heute beim Starten von Programm #1 klappte es plötzlich nicht mehr. Da hatte ich eine mir noch unbekannte Fehlermeldung beim Importieren von Qwt5, direkt am Anfang vom Programm:

RuntimeError: the sip module implements API v11.0 to v11.3 but the PyQt4.Qwt5.Qwt module requires API v10.1

Blöd geschaut. An meinen Installationen hatte ich ewig nichts mehr geändert, warum sollte es auf einmal nicht funktionieren? Homebrew hatte ich natürlich immer wieder mit brew update && brew upgrade aktualisiert, das war’s sonst. Wenn ich ehrlich bin, weiß ich eigentlich nicht mehr, wann ich zum letzten Mal Programm #1 auf dem iMac erfolgreich benutzt habe.

Erste Google-Ergebnisse haben den Hinweis geliefert, dass ich vielleicht konkurrierende SIP oder Qt oder sonst was Versionen habe. Tatsächlich gab es vom SIP mehrere Versionen, aber eine neue Installation hat das Problem nicht gelöst. Ich habe also in homebrew alles deinstalliert und der Reihe nach reinstalliert:

brew uninstall --force pyqwt
brew uninstall --force pyqt
brew uninstall --force sip
brew install sip
brew unlink sip && brew link sip
brew install pyqt
brew unlink pyqt && brew link pyqt
brew install pyqwt
brew unlink pyqwt && brew link pyqwt

Das war jedenfalls der Plan. Bei PyQt hatte ich schon die Meldung

==> Caveats
Phonon support is broken

Keine Ahnung, was damit gemeint war. Ich habe es ignoriert, da das Verlinken danach geklappt hat. Beim Installieren von Qwt5 ging es nicht mehr so gut. Nach make und install kam die neue Fehlermeldung:

/usr/local/Cellar/sip/4.18.1/include/sip.h:32:10: fatal error: 'Python.h' file not found

Erneut gegoogelt. Bei stackoverflow hatte jemand mal vorgeschlagen, vorher

export C_INCLUDE_PATH=/System/Library/Frameworks/Python.framework/Headers

anzugeben. Ich habe trotzdem die Fehlermeldung bekommen und konnte Qwt5 nicht installieren. Bei mir war Python.h auch unter dem selben Pfad zu finden. Die Fehlermeldung bezog sich auf einen Aufruf von der Datei innerhalb von /usr/local/Cellar/sip/4.18.1/include/sip.h. Ich habe einfach ausprobiert, für alle Dateien unter /System/Library/Frameworks/Python.framework/Headers einen symbolischen Link unter /usr/local/Cellar/sip/4.18.1/include zu setzen:

sudo ln -s /System/Library/Frameworks/Python.framework/Headers/*.h /usr/local/Cellar/sip/4.18.1/include/

Und danach ging’s! brew install pyqwt lief erfolgreich, und Programm #1 kann wieder benutzt werden. Es hat mir aber zwei Stunden gekostet. Und auf dem Laptop, auf dem ebenfalls El Capitan installiert ist, habe ich das Problem gar nicht erst bekommen. Ein Rätsel, warum es aufgetreten ist.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Werbeanzeigen

Ich hasse Mac

Diesen Satz bekommen meine Kollegen im Büro immer wieder zu hören.

Ich habe für meine Arbeit einen Mac von Uschi zur Verfügung gestellt worden. Ich entwickle ein wissenschaftliches Programm, das Nutzer sich auch zu Hause herunterladen und installieren können, und sollte daher prüfen, dass es auf allen Lunix-basierten Betriebssystemen läuft.

Inzwischen habe ich einen eigenen dienstlichen Mac Notebook. Uschi hatte sich freudestrahlend wie der Weihnachtsmann verhalten, als er mir den Laptop brachte. Ich hatte nur „Ach du Scheiße“ gedacht. Nicht nur, dass das Betriebssystem mir nicht passt. Das Ding ist alt und super schwer. Es herum zu schleppen macht keinen Spaß.

Unsere Beziehung ist seitdem nicht viel besser geworden. Den Laptop benutze ich hauptsächlich für Präsentationen, da ich lieber mit Microsoft Office arbeite als mit LibreOffice & Co (Uschi und Winfried beschweren sich sowieso immer, wenn sie etwas anderes als Office Dateien zugeschickt bekommen). Word und Powerpoint verhalten sich aber nicht gleich auf Mac und unter Windows. Videos in Powerpoint? Die Präsentation kann ich dann nur auf meinem Laptop zeigen. Dateien auf Stick kopieren klappt nicht, das Video startet nicht. Obwohl ich drauf achte, dass das Video nicht verlinkt sondern eingefügt wird. Aber egal. Meistens liegt der Laptop auf meinem Schreibtisch ausgeschaltet, und ich arbeite auf meiner Maschine mit Scientific Linux.

Es fing schon damit an, dass man mit dem Mac nach unten scrollen muss, um nach oben in einem Fenster zu navigieren, und umgekehrt. Oder in einem Bild zum rein- und rauszommen. Welcher kranker Geist denkt sich denn so was aus? Die Maus hat nur einen Knopf, und man muss die ctrl-Taste beim klicken halten, um einen Rechtsklick durchführen zu können. Apropos Bild, ich muss immer wieder googeln, um herauszufinden, mit welcher komplizierten Tasten-Kombination man ein Screenshot auf dem Mac macht. Über Bildbearbeitung denke ich lieber nicht nach, obwohl ich GIMP installiert habe. Und alle wichtigen Tasten zum Programmieren sind auf der Tastatur nicht zu finden. Man muss sich alle diese alt+Zahl Kombinationen merken, um geschleiften oder eckigen Klammern einzutippen: alt+5 [, alt+6 ], alt+7 |, alt+8 {, alt+9 }, alt+n ~. Steht nicht auf den Tasten. Immer wieder durchprobieren, bis ich das gewünschte Ergebnis bekomme. Am liebsten würde ich das Ding aus dem Fenster schmeißen.

Ich bearbeite gerade eine Präsentation für nächste Woche. Ich wollte eine Folie mit speziellen Bildern machen. Dafür brauchte ich ein Programm, das auf meinem Mac noch nicht installiert ist. Heruntergeladen, unter /Applications/ verschoben. Beim Ausführen gemeckert: Irgendeine X11 Library konnte nicht gefunden werden. Unter /usr/ geschaut: Es gibt ein X11R6 Verzeichnis, mit allen benötigten Dateien, aber kein X11. Symbolischen Link kreiert: sudo ln -s /usr/X11R6 /usr/X11, dann lief es. Meine Screenshots habe ich noch nicht machen können. Kurze Zeit später kam die Meldung, dass es eine neuere X11 Version gibt. Ok, aktualisieren. Gewartet. Und gewartet. Der Laptop machte nichts, ich konnte den Lüfter gar nicht hören, der sich normalerweise bei Installationen hörbar macht. Nach einiger Zeit habe ich Fenster minimiert und siehe da, es gab ein Fenster für die Installation von X11, das im Hintergrund erschienen war. So was von blöd. Jetzt läuft das Programm. Die Funktion, die ich brauche und mit Rechtsklick aktiviere, nicht. Nicht mit ctrl+Klick. Mit dem Doppel-Finger-Klick schon.

Außerdem sind Mac-Teile überteuert. Ich habe vor meiner letzten Dienstreise den Ladekabel im Büro liegen gelassen. Am Samstag vor meinem Flug war Martin in der Stadt zum Einkaufen unterwegs und ich habe ihn gefragt, mir ein neuen Kabel zu besorgen. Sonst wäre ich mit der Bahn zwei Stunden hin und zurück unterwegs gewesen. Er rief mich später an und meinte, 85€ für so ein Ladegerät. Ich habe ihm vorgeschlagen, wo sich die Verkäufer den Kabel stecken könnten und habe den vom Büro geholt.

Uschi hat uns jetzt schon verlassen. Ich habe ihn vor seinem letzten Tag bei uns hoffnungsvoll gefragt, ob er das Laptop wieder haben möchte. Er hat mich missverstanden und gesagt, klar, ich könnte den tollen iMac aus seinem Büro bekommen. Mist. Auf meinem Schreibtisch ist sowieso kein Platz mehr. Ich habe schon vier Bildschirme drauf.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Maverick & PyQt…

Keine Ahnung, wie das gehen soll. Eins weiß ich, mir hat’s gereicht.

Am Anfang hörte es sich relativ harmlos an. Uschi wollte, dass ich die Installation meines Programms auf seinem Mac teste. Meine bisherige Erfahrung mit Mac-Rechnern: Ich habe die schon mal aus einem Schaufenster im Apple-Laden gesehen. Ich habe für mein Programm mit Python2.6 und PyQt4 auf Linux gearbeitet. Dass einige Sachen anders sein würden und ich viele Fehler auffangen sollte, wusste ich. Was mir nicht klar war, ist die Tatsache, dass PyQt4 auf Uschi’s Mac nicht installiert ist. Kein großes Problem, dachte ich. Schließlich habe ich zu Hause auf meinem Windows 7 Rechner ohne Problem aus einem Installer PyQt4 bekommen.

Der Hacken ist, dass es für Mac keinen Installer gibt. Anweisungen zur Installation habe ich auf Internet gefunden, die mich immer mehr verwirrt haben. Um PyQt installieren zu können, braucht man SIP. Ich hatte bisher von SIP noch nie was gehört. Ok, SIP installiert, dann PyQt4… Ach nee, Qt gibt’s doch gar nicht auf dem Rechner! Da fiel Uschi auf, dass er für die Installation von Qt noch Teile von Xcode brauchte. Ich habe nichts gesagt, keine Ahnung, wovon er redete. Ich habe ihn diesen Teil installieren lassen (2GB Download immerhin), dann haben wir Qt5.1.1 installiert, dann SIP4.15.4, dann die ziemlich letzte Version von PyQt, und es hat nicht funktioniert. Um zu diesem Ergebnis zu kommen, haben wir fast zwei Stunden gebraucht.

Da Uschi heute unterwegs ist, meinte er, die Gelegenheit wäre perfekt, damit ich alleine an seinem Mac arbeiten könnte, um PyQt zu installieren. Seit der Mittagspause habe ich an seinem Rechner gesessen. Ich habe ziemlich alles probiert, was mir durch den Kopf gegangen ist. Verschiedene Versionen, mit --arch x86_64 oder --arch i386, Qt4, Qt5…

  • Qt5.2.0 beta + PyQt4.10.4: Fehlermeldung /Library/Python/2.7/site-packages/PyQt4/QtCore.so: No such file or directory beim sudo make install (ich habe inzwischen Administratorrechte bekommen)
  • Qt4.7.3 + PyQt4.10.4: Ich war begeistert, es gab beim sudo make install keine Fehlermeldung, selbst wenn ich beim make jede Menge Warnungen über die nicht unterstützte Mac OS X Version (Maverick) gesehen habe. Aber als ich dann meinen Programm laufen ließ: Traceback bei from PyQt4.QtGui import *, mit der Beschimpfung ImportError: dlopen(/Library/Python/2.7/site-packages/PyQt4/QtCore.so, 2)
  • Ein Versuch mit einer 32-bits Architektur: mach -o, but wrong architecture
  • Qt4.6.4 + PyQt4.10.4: Am configure.py ist es schon gescheitert: Error: Failed to determine the layout of your Qt installation
  • Qt4.8.4 oder Qt4.8.5 + PyQt4.10.4: wieder die ImportError Meldung
  • Irgendein Build von Qt5.2.0 beta + das letzte Snapshot von PyQt5.2: SIP konnte beim sudo make install nicht gefunden werden (ich habe mich nicht darüber gefreut, dass die Fehlermeldung nach dem make kam, der schon 10mn braucht)
  • Statt python2.7, habe ich auch python2.6 versucht: ImportError

Das einzige, was ich nicht geändert habe, war die Version von SIP. Jetzt ist es fast neun, ich sitze immer noch im Büro und habe tierisch Hunger. Schnauze voll, ich gehe nach Hause. Warum soll es eigentlich mein Job sein, wenn wir im Team einen IT-Ingenieur haben? Schließlich habe ich Physik studiert, nicht Informatik.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.