Recientemente he leído un montón de bibliotecas compartidas en Linux, y aquí es lo que aprendí:¿Cuáles son las buenas prácticas con respecto a las bibliotecas compartidas en Linux?
- Una biblioteca compartida debe incorporar un
soname
incluyendo su número de versión principal. Algo como:libfoo.so.1
- Su nombre de archivo real también debe incluir un número de versión menor. Algo así como:
libfoo.so.1.0
- Cuando el archivo de biblioteca se copia a, por ejemplo
/usr/local/lib
, si se ejecutaldconfig
, se leerá elsoname
y crear un enlace simbólico llamadolibfoo.so.1
señalandolibfoo.so.1.0
. - Si uno quiere usar esta biblioteca para su desarrollo, primero debe crear un enlace simbólico sin ningún número de versión al archivo real, digamos
libfoo.so
apuntando alibfoo.so.1.0
. Esto generalmente lo hace el paquete de desarrollo (cuando la biblioteca está empaquetada).
¿Es esto correcto?
Tiene razón, pero vea http://www.nondot.org/sabre/Mirrored/libtool-2.1a/libtool_6.html de todos modos :) – ismail
¿Qué leyó? – Navi
@Navi: Varios enlaces, páginas man ('ldconfig',' gcc') y yo mismo. Este enlace fue útil: http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html – ereOn