Schlagwörter

, ,

Sodelle. Da sind wir wieder. Ich werde in nächster Zeit erstmal wieder mehr PHP Coden (müssen). Nachdem ich in letzter Zeit voll auf Node.js eingestellt war, hatte ich ganz vergessen wie nervig es sein kann ein vernümpftiges PHP > 5.2 auf eine BSD wie Solaris/OpenSolaris oder OpenIndiana zu bekommen.

Mein Vorgehen schau meistens so aus: ich besorge mir die PHP Sourcen und lege die irgendwo unter /data/Archive ab. z.B /data/Archive/php-5-4.14. Davon ausgegangen, das die Buildchain im PATH liegt, habe ich diese nicht in einem extra Script gebundelt, sollte ich aber mal machen. Unter /data/Archive habe ich ein Buildscript. Für mein Aktuelles Projekt schaut das momentan so aus

#!/bin/bash

VERSION="5.4.14"

./configure --prefix=/opt/php-$VERSION \
 --with-zlib \
 --with-bz2 \
 --with-mcrypt \
 --with-mysql \
 --with-pdo-mysql \
 --enable-soap \
 --enable-sockets \
 --enable-zip \
 --with-xsl \
 --with-gnu-ld \
 --with-openssl \
 --with-curl \
 --enable-mbstring \
 --enable-soap \
 --with-pear \
 --enable-dtrace

Der übliche Dreiklang (./configure, make, sudo make install) funktioniert aber nicht. Beim make bricht er sofort ab und behauptet nicht wissen zu können wie zend_dtrace zu übersetzen sei! Dtrace ist nun aber genau das was man auf einer Solaris als Dev-System haben möchte. Ich finde kaum ein Tool geiler um schnell Aufschluß über eine Effektivität von Code zu erlangen.

Nach der Fehlermeldung zu googlen half nicht besonders viel:

make: Fatal error: Don’t know how to make target `/data/archive/php-5.4.14/Zend/zend_dtrace.d‘

Das hat mich nun den ganzen vormittag gekostet, bis mir die logische Wahrheit konsequent ins gesicht gepeitscht hat. „dtrace“ ist nur für den superuser verfügbar, demnach muss auch das „make“ bereits unter sudo ausgeführt werden.


../buildphp.sh
sudo make
sudo make install

Läst es dann und PHP lässt sich wunderbar kompilieren.

Aber….
Ein Funktionierende Installation bekommt man so immer noch nicht hin. Die Gründe hierfür sind vielfältig. Diesen Beitrag sollte man lesen, nochmal lesen und zu guter letzt noch einmal lesen: PHP-BUG #62692.

Nun gut, ich fasse zusammen:

sudo su -
../buildphp.sh
gmake -r

Anders als der Bugreport sagt, failed der Build mit 5.4.14 nicht mehr.
Also kann mit

gmake -r install

fortgefahren werden.