Řešení 1:
Chcete-li to provést nezávisle* způsobem, můžete použít ldconfig s grep, takto:
ldconfig -p | grep libjpeg
Pokud libjpeg není nainstalován, nebude žádný výstup. Pokud je nainstalován, získáte řádek pro každou dostupnou verzi.
Nahraďte libjpeg libovolnou knihovnou, kterou chcete, a máte obecný, na distro nezávislý* způsob kontroly dostupnosti knihovny.
Pokud z nějakého důvodu není cesta k ldconfig nastavena, můžete ji zkusit vyvolat pomocí celé cesty, obvykle /sbin/ldconfig
.
**99 % případů*
Řešení 2:
Můžete si to ověřit u správce balíčků vaší distribuce (aptitude, yum, ...), ale protože jste svou distribuci nezadali, nemohu vám dát správný příkaz.
Dalším způsobem může být spuštění gcc -ljpeg
, pokud dostanete 'ld:library not found for -ljpeg', znamená to, že gcc nenalezlo knihovnu (ale to neznamená, že není nainstalována), pokud dostanete něco jako 'Undefined symbols:"_main", odkazované from:...' znamená, že libjpeg byl nalezen.
locate libjpeg; ls /usr/lib/libjpeg*; ls /lib/libjpeg*
je nějaký jiný způsob, jak zjistit, zda je lib nainstalována v systému
Existuje mnoho dalších způsobů, jak to ověřit, pokud nám poskytnete více kontextu (proč potřebujete zkontrolovat, zda je nainstalován libjpeg), mohli bychom vám poskytnout nejlepší řešení pro váš konkrétní případ.
Řešení 3:
Používám whereis utility.
Ukázka:
[email protected]:~$ whereis libjpeg
libjpeg: /usr/lib/libjpeg.so /usr/lib/libjpeg.a /usr/lib/libjpeg.la
Řešení 4:
Používám toto:
gcc -lpng
Když je lib nainstalována, dává:
undefined reference to 'main'
Když lib není nainstalováno:
cannot find -lpng
Řešení 5:
Pro distribuci založenou na deb můžete udělat
dpkg -s packagename
Nebo pokud znáte pouze název souboru, použijte
locate filename
Název souboru je obvykle libsomething.so[.version].