[ATARI] Librerias dinamicas en sistemas Atari
Jesus Cea Avion
jcea at argo.es
Tue Jan 14 19:18:03 CET 2003
> Tal vez lo que no he dicho es que el número de la versión jamás lo
> verás formando parte del nombre del archivo... La intuition.library
> v3.12 se llama "intuition.library", al igual que la versión 5.890 (por
> decir algo). El número de la versión está metido dentro del fichero,
> formando parte de una cadena que indica la versión del fichero
> ($VER:)...
Es UNIX es igual. Una cosa es el nombre del fichero y otra el SONAME
(Shared Object NAME). El SONAME forma parte del fichero, no de su
nombre. Un SONAME "inteligente" hace referencia al nombre de la librería
y a la versión de su API. La versión del código estaría en el nombre del
fichero.
Un programa que use la librería, referencia su SONAME, no su nombre de
fichero.
Un ejemplo. BerkeleyDB 4.1.25:
1. Nombre del fichero real: libdb-4.1.so
2. Enlaces simbólicos a ese fichero desde "libdb-4.so" y "libdb.so".
3. Los programas que usen esa librería, CUANDO SE COMPILAN pueden
buscar por "libdb.so", "libdb-4.so" "libdb-4.1.so", que apuntan
al mismo fichero.
4. El SONAME de la librería es "libdb-4.1". No aparece 4.1.25 por ningún
lado. Si mañana sale la 4.1.37, que corrige muchos bugs pero cuyo API
es igual (es 4.1), pues su SONAME sería el mismo. Las librerías
podrían reemplazarse de forma transparente (salvo que la versión
nueva fallaría menos y sería más eficiente).
5. Una vez compilado el programa que usa las librerías, en su interior
no se guarda el nombre del fichero. Ni siquiera su PATH. Se guarda
su SONAME. En este caso, "libdb-4.1".
6. Cuando se ejecute el programa en la máquina del vecino, el sistema
buscará la librería cuyo SONAME es "libdb-4.1", por todos los
directorios de librerías. A lo mejor el usuario tiene instalada
la 4.1.87 (ya han pasado dos años y la librería se ha ido
modernizando) pero seguirá funcionando igual, porque su SONAME
es "libdb-4.1" igualmente, y es compatible con el API versión 4.1.
--
Jesus Cea Avion _/_/ _/_/_/ _/_/_/
jcea at argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/
_/_/ _/_/ _/_/_/_/_/
PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/
"Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/
"My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
More information about the Atari
mailing list