Risposte:
Per fare ciò in modo indipendente dalla distro * puoi usare ldconfig con grep, in questo modo:
ldconfig -p | grep libjpeg
Se libjpeg non è installato, non ci sarà output. Se è installato, otterrai una riga per ogni versione disponibile.
Sostituisci libjpeg con qualsiasi libreria tu voglia e hai un modo generico, indipendente dalla distribuzione * di verificare la disponibilità della biblioteca.
Se per qualche motivo il percorso per ldconfig non è impostato, puoi provare a invocarlo usando il suo percorso completo, di solito /sbin/ldconfig
.
** 99% delle volte *
bash: ldconfig: command not found
su Debian x64 Jessie con xfce! Questa è la versione debian consigliata sul sito web debian ...
ldconfig
non è disponibile (si command not found
presenta) se si tenta di eseguirlo senza essere un superutente.
/sbin/ldconfig -p
funziona per me senza bisogno di essere root.
Puoi verificare con il gestore dei pacchetti della tua distribuzione (aptitude, yum, ...) ma poiché non hai dato la tua distribuzione, non posso darti il comando giusto.
Un altro modo può essere quello di eseguire gcc -ljpeg
, se ottieni 'ld: libreria non trovata per -ljpeg' significa che gcc non ha trovato la libreria (ma non significa che non sia installata), se ottieni qualcosa come 'Simboli indefiniti : "_main", referenziato da: ... 'significa che libjpeg è stato trovato.
locate libjpeg; ls /usr/lib/libjpeg*; ls /lib/libjpeg*
sono un altro modo per scoprire se la lib è installata nel sistema
Esistono molti altri modi per verificare che, se ci dai più contesto (perché è necessario verificare se libjpeg è installato), possiamo darti la soluzione migliore per il tuo caso specifico.
Uso l' utility whereis .
Campione:
l1feh4ck3r@xxx:~$ whereis libjpeg
libjpeg: /usr/lib/libjpeg.so /usr/lib/libjpeg.a /usr/lib/libjpeg.la
Per la distribuzione basata su deb puoi farlo
dpkg -s packagename
O se conosci solo il nome del file, usa
locate filename
Il nome del file è in genere libsomething.so [.version].
dpkg -s
limitata l'utilità, perché vuole il nome del pacchetto effettivo, che può differire sottilmente o significativamente dalla libreria stessa. Io usodpkg -s|grep LIBRARY
Sui sistemi basati su Redhat, è possibile utilizzare pkg-config per verificare se una libreria è installata o meno. Molti binari rpm eseguono effettivamente gli stessi controlli prima di procedere con l'installazione, quindi possiamo ragionevolmente fare affidamento sulla sua veridicità.
pkg-config --cflags jpeg
pkg-config --libs jpeg
pkg-config --cflags "jpeg >= 1.0.0" # for version check
pkg-config --modversion jpeg | awk -F. '{ printf "0x%02X%02X%02X\n",$1,$2,$3 }' #version check
Questo viene fatto sempre dagli strumenti di configurazione su Linux.
Guarda questo tutorial su autoconf e KDevelop .
Altri trucchi userebbero comandi come ldconfig
e dpkg
.
Puoi anche provare a usare dpkg per verificare se è installato.
dpkg --list | grep [some_key_words_of_your_lib]
Inoltre, su CentOS, puoi provare questo.
rpm -qa [lib_name]
pkg-config
invece.