MySQLdb unter Mac OS X „Snow Leopard“

Wenn man unter Mac OS X MySQLdb bauen will, und einen Intel-Mac mit Snow Leopard zusammen mit XCode 4 betreibt, muss man einige Hürden umschiffen.

1.    Man muss darauf achten, dass Python und MySQL in der gleichen Architektur vorliegen (entweder i386 oder x86_64)
2.    MySQL-python herunterladen und auspacken (http://pypi.python.org/pypi/MySQL-python/)
3.    Im Default ist das Compile-Target von XCode 10.3. Das funktioniert nicht!
⁃    export ARCHFLAGS=‘-arch x86_64′
⁃    export MACOSX_DEPLOYMENT_TARGET=10.6
4.    Jetzt kann man, wie üblich, mit python setup.py build und python setup.py install das Paket MySQLdb bauen (siehe README).

Allerdings funktioniert es noch nicht, wenn man versucht, das Modul zu importieren, so wird man mit folgender Fehlermeldung belohnt:

„MySQLdb unter Mac OS X „Snow Leopard““ weiterlesen

Back to the roots…

Manchmal ist es schön, wenn man altes Wissen noch mal brauchen kann. In Zeiten, wo die meisten Leute ausser „Java“ und „C#“ nichts mehr kennen (und daher damit auch alles machen, sogar ein „Hello, World!“ 🙂 ), ist es doch schön, wenn man mit einem ausgefuchsten Shellcript (mit getopts, vielen eckigen Klammern, Inline-Evaluation usw.) in einem Bruchteil der Zeit das gleiche erledigen kann. Als netten Nebeneffekt erntet man noch verblüffte Gesichter 🙂

php entfesselt!

Beim Googeln bin ich eindeutig gut. Es gibt eine Alternative zum eAccelerator, die aber merkwürdigerweise kaum ins Auge springt – den Alternative PHP Cache APC. Im Gegensatz zu eAccelerator wird dieser noch aktiv entwickelt und wahrscheinlich in die Core-Distribution von PHP6 einfließen. Klingt besser als die Zukunft von eA. Erste Benchmarks, u.A. auf diese Seite, zeigen: Er ist sogar noch schneller als der eA.

PHP entfesselt?

Nachdem sich die erste Begeisterung ein wenig gelegt hat, stellt es sich heraus, dass es mit dem eAccelerator doch die ein oder andere Hakeligkeit gibt – wirklich stabil läuft er unter RHEL6 mit php5.3 nicht – er neigt dazu, den Apache zu unangenehmen child-SegVaults zu veranlassen. Scheint ein Problem mit dem Shm zu sein – Lösung steht noch aus.

PHP entfesselt

Im Rahmen eines Typo3-Projektes bin ich zum wiederholten Mal über den eAccelerator gestolpert und habe ihn einfach mal ausprobiert. Obwohl es den aus den (offiziellen) Repositories für das verwendete CentOS 5.5 nicht als Binärpaket gibt, war die Installation aus den Sourcen absolut einfach: make, make install, und eine INI-Datei mit Default-Werten anlegen: Fertig. Die Ladezeiten dieses Blogs haben sich ohne weiteren Aufwand halbiert. Wirklich hübsch!

Oracle ist eben Oracle…

Seit langer Zeit musste ich noch einmal eine Oracle unter Linux installieren. Ich muss gestehen: Ich bin einfach verwöhnt. In diesen modernen Zeiten reicht ja häufig ein „rpm -Uhv“, und alles ist gut. Bei der limitierten Entwicklerversion können die das ja auch schon bei Oracle (die XE). Sobald man aber die „echte“ Version in die Hände bekommt, ist alles genau wie früher… Kernelparameter setzen, Alte-OS-Version faken, obskure Compat-Pakete installieren und dann in mehreren Versuchsrunden herausfinden, was der Installer (X11-Tunnel!) _wirklich_ meinte, als man die Komponenten auszuwählen glaubte… Schöne, neue Welt.