|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Feb 2008
Messaggi: 84
|
RISOLTO [C] problema applicazione.C su mysql
Ciao, ho installato mysql da .tar.gz come indicato dal manuale ufficiale, cosi mi ritrovo le librerie al posto giusto ora il problema è compilare e usare un'applicazione scritta in C:
gcc -c -I/usr/local/mysql/include example.c e mi compila il file oggetto gcc -g -o example example.o -L/usr/local/mysql/lib -lmysqlclient -lz e mi crea l'eseguibile example. Però ora provo a lanciare ./example e mi ritrovo: ./example: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory Perchè??? Ultima modifica di yoghi87 : 13-05-2009 alle 18:42. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Questa applicazione andava più nella sezione Linux che qui, ma vabbe'...
Il fatto è che /usr/local/lib al 99% non è incluso in /etc/ld.so.conf, e al caricamento dell'eseguibile non vengono trovati i simboli esterni necessari. Aggiungilo e poi dai un ldconfig come superutente.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Feb 2008
Messaggi: 84
|
ho provato ma niente come prima... stesso errore...
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Eh no, se le librerie sono installate correttamente e hai fatto come ti ho detto, deve funzionare.
Ricapitoliamo:
ciao
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Feb 2008
Messaggi: 84
|
se dò quel comando ricevo:
Codice:
ldd ./example linux-gate.so.1 => (0xb809d000) libmysqlclient.so.16 => not found libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7f29000) /lib/ld-linux.so.2 (0xb809e000) |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Esattamente quello che dicevo.
La cosa è strana se hai aggiunto il percorso e rigenerato la cache, controlla che effettivamente il file esista nella cartella.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Feb 2008
Messaggi: 84
|
perchè mi fà cosi il file libmysqlclient.so.16 è dentro /usr/local/mysql/lib ma quando compilo mi continua a dire:
./ciao: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory il file ld.so.con lo modificato aggiungendo il percorso ora è cosi formato: include /etc/ld.so.conf.d/*.conf include /usr/local/mysql/lib Cosa posso fare per far funzionare queste applicazioni in C??????? |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Azz, no, togli l'include della seconda riga (quello della prima riga va bene)... Poi lancia di nuovo ldconfig e vedrai che funzionerà perfettamente...
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Feb 2008
Messaggi: 84
|
in che riga c'è l'include????
|
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Feb 2008
Messaggi: 84
|
OK grazie Mille ho risolto era solo da creare link simbolici nella cartella /usr/lib dei file libmysqlclient.so.16 e libmysqlclient.so
Grazie!!! |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Una soluzione abbastanza rozza, ma vabbe'...
Comunque era nella seconda riga, dovevi solo togliere "include" e avevi risolto. ciao ciao
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:27.




















