Soluzione 1:
Per farlo in modo indipendente dalla distribuzione* puoi usare ldconfig con grep, in questo modo:
ldconfig -p | grep libjpeg
Se libjpeg non è installato, non ci sarà alcun output. Se è installato, otterrai una riga per ogni versione disponibile.
Sostituisci libjpeg con qualsiasi libreria desideri e avrai un modo generico e indipendente dalla distribuzione* di verificare la disponibilità della libreria.
Se per qualche motivo il percorso di ldconfig non è impostato, puoi provare a invocarlo usando il suo percorso completo, solitamente /sbin/ldconfig
.
**99% delle volte*
Soluzione 2:
Puoi controllare con il gestore di pacchetti della tua distribuzione (aptitude, yum, ...) ma siccome non hai fornito la tua distribuzione non posso darti il comando giusto.
Un altro modo può essere eseguire gcc -ljpeg
, se ottieni 'ld:library not found for -ljpeg' significa che gcc non ha trovato la libreria (ma non significa che non sia installata), se ottieni qualcosa come 'Simboli non definiti:"_main", referenziati from:...' 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
Ci sono molti altri modi per verificarlo, se ci dai più contesto (perché devi controllare se libjpeg è installato) potremmo darti la soluzione migliore per il tuo caso specifico.
Soluzione 3:
Uso il whereis utilità.
Esempio:
[email protected]:~$ whereis libjpeg
libjpeg: /usr/lib/libjpeg.so /usr/lib/libjpeg.a /usr/lib/libjpeg.la
Soluzione 4:
Io uso questo:
gcc -lpng
Quando la libreria è installata, restituisce:
undefined reference to 'main'
Quando la lib non è installato:
cannot find -lpng
Soluzione 5:
Per la distribuzione basata su deb puoi farlo
dpkg -s packagename
Oppure, se conosci solo il nome del file, usa
locate filename
Il nome del file è solitamente libqualcosa.so[.version].