4101Fermer4103
PpHdLe 10/05/2013 à 10:31
Kevin Kofler (./7560) :
PpHd (./7557) :
Kevin Kofler (./7552) :
PpHd (./7550) :
En quoi c'est compliqué d'enregistrer avec quelle version de la librairie ca a été compilée et testée ?

Parce qu'entretemps, une bibliothèque dont ça dépend peut avoir été recompilé avec une nouvelle version d'une autre bibliothèque, qui est aussi une dépendance indirecte à travers un autre chemin et du coup on mélange plusieurs version incompatibles sans s'en rendre compte.
Oui mais dans ce cas tant que l'application elle même n'a pas été recompilée avec la bibliothèque recompilée, elle utilise toujours la version initiale.

Non, pas dans le cas de figure d'une dépendance indirecte:
Kevin Kofler (./7545) :
Imagine que appA linke libB et libC, que libB linke libD.so.1 et libC linke libD.so.2.

La libC de mon exemple peut passer de la libD.so.1 à la libD.so.2 sans que le soname de la libC change et donc sans qu'appA s'en rende compte, et du coup des conflits de symboles sont introduits! C'est ça le cas de figure qui a produit les bogues que j'ai eu l'occasion de recontrer.

Si le gestionnaire de paquet ne prévient pas appA de ce changement, c'est un mauvais gestionnaire de paquet ==> changer gestionnaire de paquet.