2012-06-21 3 views
12

Stavo cercando di costruire PHP 5.2.17 dai sorgenti su Ubuntu 12.4 64bit utilizza questa configurazione:Impossibile trovare libmysqlclient in/usr. mentre costruire PHP 5.2 dai sorgenti su Ubuntu 12.4

./configure --prefix=/opt/php5.2 --with-config-file-path=/opt/php5.2 --with-mysql 

ma continuo a ricevere questo errore:

configure: error: Cannot find libmysqlclient under /usr. 
Note that the MySQL client library is not bundled anymore! 

alcuna idea di come risolvere questo?

EDIT1: ho ridotto a icona il comando configure in modo che si concentri solo su mysql. inoltre sto usando una versione a 64 bit di Ubuntu.

EDIT2: provato a fare funzionare ldconfig -v |grep mysql e qui è l'uscita

# ldconfig -v |grep mysql 
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once 
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once 
/sbin/ldconfig.real: Cannot stat /usr/lib/x86_64-linux-gnu/libnss_db.so: No such file or directory 
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0 
libmysqlpp.so.3 -> libmysqlpp.so.3.1.0 
+1

I * guess * devi dire configure dove è la directory di esso. - Sembra che questa non sia una domanda ma una richiesta di Google: [php configure: impossibile trovare libmysqlclient] (http://www.linuxquestions.org/questions/linux-server-73/php-configure-cannot-find-libmysqlclient- 582944 /) (ricerca: PHP configura il percorso libmysqlclient). – hakre

+0

Hai idea di dove si trova? Ho provato trovando ed ecco il risultato: './usr/share/doc/libmysqlclient-dev ./usr/share/doc/libmysqlclient18 ./usr/lib/x86_64-linux-gnu/libmysqlclient.so ./usr/lib/x86_64-linux-gnu/libmysqlclient.a ./usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18 ./usr/lib/x86_64-linux-gnu/libmysqlclient_r.so .18.0.0 ./usr/lib/x86_64-linux-gnu/libmysqlclient_r.so ./usr/lib/x86_64-linux-gnu/libmysqlclient_r.a ./usr/lib/x86_64-linux-gnu/libmysqlclient .so.18.0.0 ./usr/lib/x86_64-linux-gnu/libmysqlclient.so.18 ... – farzam

+0

@hakre Modifica la domanda e aggiungerò ulteriori informazioni. – farzam

risposta

17

Grazie @hakre per l'assistenza. qui è il comando che ho usato e funziona:

sudo ./configure --prefix=/opt/php5.2 --with-config-file-path=/opt/php5.2 --with-mysql --with-libdir=/lib/x86_64-linux-gnu 
+0

Come hai scoperto che deve essere '--with-libdir =/lib/x86_64-linux-gnu'? Intendo il percorso esatto. Vedo solo il percorso all'interno dei messaggi di errore di '# ldconfig -v | grep mysql', ma ha anche altri percorsi. – hakre

+0

Sapevo che dovevo usare il parametro '--with-libdir' e ho appena provato quel percorso. – farzam

+3

@hakre usa 'locate libmysqlclient' per scoprire dove sono i tuoi file e poi specifica la posizione esatta. –

4

Forse per qualche povera anima questo funzionerà:

./configure --with-apxs2 =/usr/sbin/apxs --con- mysql = mysqlnd --with-mysqli = mysqlnd --with-pdo-mysql = mysqlnd

+0

Hai salvato la mia povera anima :) –

+0

Grazie! Ha funzionato anche per me. Era bloccato con la compilazione di PHP 5.3.29 per l'utilizzo di phpfarm. Sta usando più motori php in Apache contemporaneamente. Alcune istruzioni qui: https://gist.github.com/gmodarelli/5887778 – liberborn

+0

Fantastico !! PHP v 5.3.27 su Ubuntu14, ho dovuto modificarlo un po ': ./configure --with-apxs2 =/usr/local/apache/bin/apxs --with-mysql = mysqlnd --with-mysqli = mysqlnd --with-pdo-mysql = mysqlnd –