PECL-Installationsfehler nach dem Upgrade auf OSX 10.8

3330
Clive

Ich habe gerade mein Betriebssystem auf Mountain Lion aktualisiert und PECL funktioniert nicht mehr (es ist eine Testfahrt, also kein Drama, aber ich möchte, dass es funktioniert, damit ich das Betriebssystem auf meiner glänzenden neuen SSD aktualisieren kann).

Ich verwende die native PHP-Installation, keine Macports / Homebrew oder ähnliches.

Beim Ausführen sudo pecl install uploadprogress(zum Beispiel) wird die folgende Terminalausgabe erzeugt:

downloading uploadprogress-1.0.3.1.tgz ... Starting to download uploadprogress-1.0.3.1.tgz (9,040 bytes) .....done: 9,040 bytes 4 source files, building running: phpize grep: /usr/include/php/main/php.h: No such file or directory grep: /usr/include/php/Zend/zend_modules.h: No such file or directory grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory Configuring for: PHP Api Version: Zend Module Api No: Zend Extension Api No: autom4te: need GNU m4 1.4 or later: /usr/bin/m4 ERROR: `phpize' failed 

Ich vermute, das Problem ist die 3 grepZeilen. Ich habe mehrere Threads gefunden, die vorschlagen, dies durch XCode verursacht wird nicht installiert ... aber XCode wird installiert, und auf die neueste Version (4.4) aktualisiert. Alle relevanten Symlinks /Developer/usr/bin/*existieren auch so, wie sie sollen.

m4 ist derzeit in der version:, m4 (GNU M4) 1.4.13obwohl die obige Ausgabe eine entsprechende Zeile enthält, glaube ich nicht, dass dies das Problem sein kann.

Ich bin sicher, es ist nur ein einfaches Problem. Hat jemand irgendwelche Hinweise?

2

4 Antworten auf die Frage

2
kenorb

Versuchen Sie die Installation mit dem folgenden Befehl (ändern Sie Ihren Pfad entsprechend), zB:

M4=/Developer/usr/bin/m4 pecl install uploadprogress 
1
Clive

Es stellte sich heraus, dass es etwas lächerlich einfaches ist.

m4 befindet sich jetzt unter / usr / local / bin / m4, etwas (vielleicht autom4te?) suchte nach / usr / bin / m4. Ein schneller Symlink behebte das Problem.

1
Fabio Berger

Es stellt sich heraus, dass Sie möglicherweise den XCode-Bedingungen für M4 zustimmen müssen. Führen Sie dazu Folgendes aus:

sudo m4 version

und wenn Sie es seit einem Upgrade zum ersten Mal ausführen, werden Sie aufgefordert, die Allgemeinen Geschäftsbedingungen zu lesen und zu akzeptieren. Danach können Sie es verwenden, indem Sie den zuvor gewünschten Befehl erneut ausführen.

0
codiga

Ich habe ewig gebraucht, aber hier habe ich es gelöst:

  • Lauf:

    which autom4te 
  • gibt dir den Weg von autom4te. In meinem Fall war das:/Applications/MAMP/Library/bin/autom4te

  • Gehen Sie zu diesem Pfad und prüfen Sie, ob das Programm vorhanden ist m4

  • Wenn ja, ist es möglicherweise beschädigt. So benennen Sie es um:

    mv m4 m4_old 
  • Prüfen Sie jetzt, wo sich Ihre neue Version von m4 befindet. Also renne:

     which m4 

Es gibt dir: /path/to/your/m4

  • Suchen Sie nun einen Symlink in dem Ordner Ihres autom4teursprünglichen Pfads m4, also:

     ln -s /path/to/your/m4 

Jetzt sollte es funktionieren und pecl ausführen