Die Sache mit dem Kompilieren

Ganz inspiriend finde ich derzeit keine konkreten Projekte auf dem Tisch zu haben. Ich wollte die Anfangsphase meiner Selbstständigkeit dazu nutzen, mich intensiv in Themen einzuarbeiten, für die davor einfach keine Zeit blieb. Das mache ich jetzt und so pendle ich munter zwischen Typo3 Grundlagen, Observer Pattern und sonstigem. Gestern führte mich der Weg dahin, auf meinem LAMP Stack Zend Optimizer installieren zu wollen. Die Bilanz der Unternehmung: durchwachsen. Einerseits habe ich jede Menge gelernt, andererseits wüßte ich nicht, was ich damit anfangen soll. Die Installation eines LAMP-Stacks unter Ubuntu 10.10 mit apt-get und Pakten ging mehr als schnell. Ich hatte Ubuntu seit Jahren nicht mehr genutzt (bis auf ein kurzes Interlude und dem Versuch Trac aufzusetzen vor einem Jahr) und war doch erfreut, dass mein ganzes Wissen noch da war. Insbesondere mit der BASH habe ich mich angfreundet, die ich unter OS X 10.6 doch eher selten nutze. Unter Ubuntu auf meinem Netbook dagegen ist das Terminal mein erster Ansprechpartner, da beginnt eher die grafische Oberfläche zu nerven. Das Schreiben geht immer flüssiger von der Hand, mit mehr Übung merkt man doch deutlich den Vorteil von CLI. Jedenfalls benötigte ich für eine Anwendung den Zend Optimizer und damit fingen die Probleme an. So schön einfach Debian Pakete sind – man ist mit ihnen etwa bei PHP auf eine Versionsnummer festgelegt. Für MySQL wäre mir das ehrlich gesagt egal – da habe ich bislang noch nie den Wunsch oder die Notwendigkeit erfahren, hier umsteigen zu müssen. Bei PHP dagegen benötigte ich eine 5.2 Version. Auch unter dem Hinblick, dass ich Ioncube installieren wollte. Nun gut, nach längerer Recherche fand ich ein Migrationsskript zum downgrade. Installiert wurde via älteren Packages dann aber PHP 5.2.10. Und da meckerte gleich das zu installierende CMS, das eine höhere 5.2 Version wollte. Und ab da war ich in dem klassischen Dilemma: „ich wollte doch eigenlich nur…“ während man von einem Problem zum nächsten stolpert. Nur noch das eine Problem lösen – dann hat man es endlich geschafft! So macht man sich dann Mut, während man auf einmal den nebligen Weg in den Hochalpen vor sich sieht: PHP selbst kompilieren. Ja, kann man machen, ist theoretisch auch nicht so schwer – nur können ungeahnte Probleme auftreten. Was dann auch prompt geschah, als „configure: error: libpng.(a|so) not found“ mich beglückte. Nach ewigem googlen so wie weiteren Fehlern beim „configure“-Befehl kam ich endlich dahinter, dass die „dev“-Packages der jeweiligen Libraries benötigt werden und nicht nur die Libraries selbst. Dann noch rausfinden mit welchen Einstellungen PHP konfiguriert werden muss – und es war ein paar Stunden später. Der eigentliche Knaller kam dann aber: Zend Optimizer wurde (bzw. wird!) nicht gefunden. Habe ich das richtige .so File für die PHP Version installiert? Ja. Ist der Pfad in der php.ini und wird diese geladen? Ja. Die Aussagen von Zend zu den Systemvoraussetzungen sind spärlich bis nicht vorhanden. Nach ewiger Suche fand ich ein altes Dokument von Zend zum Optimizer, die etwas von „no-debug“ Mode, „enable versioning“ beschrieben. Auf der Download-Site war nichts davon zu sehen. Änderungen in der php.ini bei anderen Parametern nach einem Neustart des Apache zeigten Wirkung, aber weder via phpinfo() noch „php -v“ wird der Opimizer angezeigt. Frustriert installierte ich ioncube – was innerhalb von 5 Minuten ohne Probleme gelang. Ein Verdacht: der ZendExtensionManager.so fehlt. Der Optimizer tarball scheint diesen früher enthalten zu haben, heute nicht mehr. Keine Angaben von Zend dazu.

Irgendwann stellt sich dann die Frage: will man wirklich weitermachen und Zeit in eher zweitrangige Probleme stecken? Ich könnte auch anders weitermachen – irgendwo scheine ich es aber als ein Aufgeben und Scheitern zu interpretieren, wenn ich an der Stelle das Unterfangen abbreche. Immer wieder der Gedanke: „das kann doch gar nicht sein – es muss doch an irgend etwas liegen.“ Andererseits die Gewissheit: ich verballere hier eine Unmenge von Zeit, die ich besser an anderer Stelle investiert hätte. Und damit wären wir wieder bei der eingangs erwähnten Bilanz: ich wüßte nicht, was ich mit diesem Wissen anfangen soll. I.d.R. arbeite ich auf Shared Hosting Umgebungen und da bringt mir das Wissen PHP aus dem Sourcecode zu kompilieren rein gar nichts. Es ist eher noch eine Belastung – ich könnte ja jetzt, bin aber durch die Umstände eingeschränkt. Ich würde aber wenigstens zu Hause ganz gerne entscheiden können, welche Version ich installiert habe mit welchen Parametern – und dafür muss ich wohl in den saueren Apfel beißen und mich durch die Hölle der Errors beim Kompiliervorgang kämpfen.

Dieser Beitrag wurde unter Programmierung veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Hinterlasse einen Kommentar