著者: Christian Marillat 日付: To: guilde 題目: Re: Version de librairie
Frederic Mantegazza <mantegazza@???> writes:
> On Friday 30 August 2002 15:05, Christian Marillat wrote:
[...]
> Chaque fois que la compatibilitée binaire d'une lib change le soname
> doit changer. Cela permet d'avoir plusieurs libs installées en même
> temps et ainsi chaque binaire charge la bonne lib sans problème. Ici le
> binaire va chargé la 0.7.4, mais le code à peut-être été écrit pour la
> 0.7.3 ce qui peut causer des problèmes si le binaire appelle une fonction
> qui à changée entre temps. > Ok, mais ce que j'ai lu (je n'arrive plus a remettre la main sur la page en
> question; c'etait pourtant super bien detaille), c'est qu'un binaire ecrit
> pour la 0.7.3 et qui se lie avec la 0.7.4 *doit* marcher. Sinon, la 0.7.4
> devrait s'appeler 0.8.0, et le binaire en question ne peut pas s'y lier. Il
> doit chercher (du moins le chargeur de librairie) une 0.7.x, avec x >= 3.
Le soname d'une lib est le premier chiffre. Puis il y a le nom majeur et
le nom mineur. Ici liba52 est vraiment un mauvais exemple, car en effet
le soname aurait dut être 0.0.0 pour la 0.7.3 (ou 0.x.x) et 1.0.0 pour
la 0.7.4
Étant donné que l'auteur à décidé de changer la compatibilité binaire en
ne changant que le nom mineur de la lib, c'est une grosse erreur que le
maintenaur debian à corrigé en faisant deux paquets différent.
Le meilleur exemple sont les libs GNOME ou soname sont correctement gérés.