Impossibile compilare PHP 5.6.1 dal sorgente

1

Sto cercando di compilare PHP 5.6.1 sul mio MacBook Pro ma non riesco a superare tutti i problemi.

Mi blocco del messaggio di errore su 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

Ho compilato Apache v. 2.4.10 dal sorgente con le opzioni di configurazione:

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

Apache funziona normalmente.

Le mie opzioni di configurazione per 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

Non riesco a superare il processo di produzione. Ho provato tutto: sudo make clean non aiuta. Ho reinstallato Xcode e CommandLineTools. E ho provato tutto ciò che potevo trovare cercando nel web ma senza prevalere.

Qualcuno sa perché non funziona?

La mia ultima risorsa sarebbe reinstallare Mavericks (se qualcosa è stato sovrascritto o rotto), ma questa è l'ultima risorsa che voglio prendere e ricominciare da capo su una nuova copia.

Grazie per tutto il tuo aiuto.

In attesa della mia ricerca: PHP genera solo l'errore quando prova a 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

Cosa mi manca?

    
posta nvukovic 05.10.2014 - 15:49
fonte

1 risposta

1

Gestito per trovare il problema.

Rimuovi l'installazione precedente e poi:

--with-mysqli : ho usato il driver nativo MySql (omesso il percorso della cartella)

Quindi, quando ti dimentichi di aggiungere un modulo alla tua compilation iniziale e sei bloccato con qualche tipo di errore, elimina la vecchia istanza che è stata installata con successo e fai il ./configure ; make clean ; make ; make install solo per essere sicuro:)

Grazie a David Parker per avermi aiutato a risolvere il problema.

Grazie David.

    
risposta data 07.10.2014 - 15:18
fonte

Leggi altre domande sui tag