Error de instalación de PECL después de actualizar a OSX 10.8


2

Acabo de actualizar mi sistema operativo a Mountain Lion y PECL ya no funciona (está en una prueba de manejo, por lo que no hay drama, pero me gustaría que funcione para poder actualizar el sistema operativo en mi nuevo y brillante SSD).

Estoy usando la instalación nativa de PHP, no macports / homebrew ni nada de eso.

Corriendo sudo pecl install uploadprogress (por ejemplo) produce la siguiente salida de terminal:

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

Supongo que el problema es el 3 grep líneas. He encontrado varios subprocesos que sugieren que esto se debe a que XCode no se ha instalado ... pero XCode es instalado y actualizado a la última versión (4.4). Todos los enlaces simbólicos relevantes a /Developer/usr/bin/* También existen como deberían.

m4 se encuentra actualmente en la versión: m4 (GNU M4) 1.4.13Entonces, aunque la salida anterior contiene una línea perteneciente a ella, no creo que ese pueda ser el problema.

Estoy seguro de que es un problema simple, ¿alguien tiene alguna pista?

Respuestas:


2

Intente realizar la instalación con el siguiente comando (modifique su ruta en consecuencia), por ejemplo:

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

1

Resultó ser algo ridículamente simple.

m4 ahora se encuentra en / usr / local / bin / m4, algo (¿tal vez autom4te?) lo estaba buscando en / usr / bin / m4. Un enlace simbólico rápido solucionó el problema muy bien.


1

Resulta que es posible que deba aceptar los términos y condiciones de XCode para M4. Para ello, ejecute:

sudo m4 version

y si es la primera vez que lo ejecuta desde una actualización, se le pedirá que lea y acepte los términos y condiciones. Después de esto, puede usarlo ejecutando nuevamente el comando previamente deseado.


0

Me tomó años, pero aquí es cómo lo resolví:

  • Correr:

    which autom4te
    
  • te da el camino de autom4te. En mi caso esto fue: /Applications/MAMP/Library/bin/autom4te

  • Ve a ese camino y mira si está el programa. m4

  • Si es así, podría estar dañado. Así que renómbrelo:

    mv m4 m4_old
    
  • ahora verifique dónde se encuentra su nueva versión de m4 en. Así que corre:

     which m4
    

Te lo dá: /path/to/your/m4

  • Ahora localice un enlace simbólico en la carpeta de su autom4te al camino original de m4, asi que:

     ln -s /path/to/your/m4
    

Ahora debería funcionar, ejecutando pecl

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.