Een shared library (gedeelde bibliotheek) is een verzameling functies die door meerdere programma's tegelijk gebruikt kan worden. In plaats van dat elk programma dezelfde code ingebakken heeft, laden ze de gedeelde bibliotheek in het geheugen.
Shared libraries hebben de extensie .so (Shared Object):
libc.so.6 → C-standaardbibliotheek
libssl.so.3 → OpenSSL
libpthread.so.0 → POSIX-threads
Het cijfer achter .so is de soname — de majeure versie. Meerdere versies kunnen naast elkaar bestaan.
ldd /usr/bin/curl # welke libraries gebruikt curl?
ldconfig -p | grep libssl # is libssl beschikbaar?
Foutmelding error while loading shared libraries: libfoo.so.1: cannot open shared object file betekent dat de library niet gevonden wordt. Oplossingen: library installeren of LD_LIBRARY_PATH aanpassen.