Problem:

Beim Installieren von zusätzlichen Extensions für PHP per PECL kommt:

Configuring for:
PHP Api Version: 20020918
Zend Module Api No: 20020429
Zend Extension Api No: 20050606
ERROR: `phpize' failed

Ein anderes Problem kommt evtl. auch mal vor:

Package "channel://pecl.php.net/imagick" is not valid

Lösung:

Wir gehen den Weg eben mit der Hand (hier zum Beispiel pdflib):

# Erstmal auf http://pecl.php.net/package-search.php nach entsprechendem Paket suchen.
cd /usr/local/src
wget http://pecl.php.net/get/pdflib-2.1.3.tar
tar xf pdflib-2.1.3.tar
cd pdflib-2.1.3/
phpize
./configure
make
make install
echo "extension=pdf.so" >>/etc/php.ini

Weitere Probleme:

could not read symbols: File in wrong format

Speziell bei o.g. imagick kam zusätzlich der Fehler:

/usr/lib/libbz2.so: could not read symbols: File in wrong format

Die betraf einen x64-CPU und es wurde falscher weise die Library aus /usr/lib/ genutzt statt der echten aus /usr/lib64/. Die Lösung war im Makefile nach ./configure die Reihenfolge der Include-Pfade in IMAGICK_SHARED_LIBADD umzustellen.

ThrowMagickExceptionList: Assertion...

Speziell beI imagick in der momentan sichersten Version 0.9.13 kam noch das Problem dazu, daß die Extension zwar ohne Probleme funktionierte, aber ein phpinfo() (bzw. php -i) einen Fehler auswarf:

httpd2-prefork: magick/exception.c:845: ThrowMagickExceptionList:
Assertion `exception->signature == 0xabacadabUL' failed.

Der Fehler ist ein Programmierfehler. Dazu muß die Datei imagick.c in der Zeile 731 um folgende Zeile ergänzt werden:

GetExceptionInfo(&exception); //dies ist die neue Zeile
magick_info = GetMagickInfoList("*", &number_formats, &exception);

Danach beim make weitermachen.

Kategorien:

Stichwörter:

php · pearl · pecl · install · imagick · pdflib · configure · make ·