No se puede compilar PHP 5.6.1 desde la fuente

1

Estoy tratando de compilar PHP 5.6.1 en mi MacBook Pro pero parece que no puedo pasar todos los problemas.

Me quedo atascado con el mensaje de error en make:

clang: error: linker command failed with exit code 1 (use -v to see invocation)
Makefile:138: recipe for target 'libs/libphp5.bundle' failed
make: *** [libs/libphp5.bundle] Error 1

Compilé Apache v. 2.4.10 desde la fuente con opciones de configuración:

sudo ./configure --prefi=/usr/local/apache2 --enable-so --enable-modules=most

Apache funciona normalmente.

Mis opciones de configuración para PHP:

sudo ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --disable-ipv6 --enable-dtrace --with-zlib --with-curl=/usr/local/cURL --enable-ftp --enable-mbstring --with-mcrypt=/usr/local/libmcrypt --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-opcache=no

No puedo pasar el proceso de creación. Lo he intentado todo: sudo make clean no ayuda. He reinstalado Xcode y CommandLineTools. Y probé todo lo que pude encontrar buscando en la web pero sin prevalecer.

¿Alguien sabe por qué no funciona?

Mi último recurso sería volver a instalar los mavericks (si se sobrescribiera o rompiera algo), pero ese es el último recurso que quiero tomar y comenzar de nuevo con una copia nueva.

Gracias por toda tu ayuda.

En espera de mi investigación: PHP solo arroja el error cuando intento configurarlo con mysqli.

Undefined symbols for architecture x86_64:
  "_dns_free", referenced from:
      _zif_dns_check_record in dns.o
      _zif_dns_get_record in dns.o
      _zif_dns_get_mx in dns.o
  "_dns_open", referenced from:
      _zif_dns_check_record in dns.o
      _zif_dns_get_record in dns.o
      _zif_dns_get_mx in dns.o
  "_dns_search", referenced from:
      _zif_dns_check_record in dns.o
      _zif_dns_get_record in dns.o
      _zif_dns_get_mx in dns.o
  "_res_9_dn_expand", referenced from:
      _php_parserr in dns.o
      _zif_dns_get_mx in dns.o
  "_res_9_dn_skipname", referenced from:
      _zif_dns_get_record in dns.o
      _zif_dns_get_mx in dns.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [libs/libphp5.bundle] Error 1

¿Qué me estoy perdiendo?

    
pregunta nvukovic 05.10.2014 - 15:49

1 respuesta

1

Administrado para encontrar el problema.

Eliminar la instalación anterior y luego:

--with-mysqli : usé el controlador nativo de MySql (omití la ruta de la carpeta)

Entonces, cuando se olvida de agregar un módulo a su compilación inicial y se queda atascado con algún tipo de error extraño, elimine la instancia anterior que se instaló con éxito y haga el ./configure ; make clean ; make ; make install solo para estar seguro :)

Gracias a David Parker por ayudarme con el problema.

Gracias David.

    
respondido por el nvukovic 07.10.2014 - 15:18

Lea otras preguntas en las etiquetas