Il existe une série de bibliothèques disponibles dans les dépôts Ubuntu comme lib32stdc++6
et lib32ncurses5
. Vous pouvez les installer sur un système 64 bits ou installer libstdc++6:i386
et libncurses5:i386
. Je suis intéressé à connaître la différence entre les deux types de packages.
Quelle est la différence réelle? Pourquoi sont-ils tous deux disponibles? Étant donné que libx:i386
est la nouvelle façon de faire les choses, cette méthode est-elle toujours préférable à l'installation de la variante lib32x
? Avoir quelques lib32x
et quelques libx:i386
bibliothèques déjà installées me fait également me demander si ce serait une bonne idée de passer à un seul type de paquet en les remplaçant par leurs homologues.
La différence pratique entre ces packages réside dans l'emplacement des bibliothèques. Avec libfoo:i386
, les bibliothèques se retrouvent dans des chemins multiples tels que /usr/lib/i386-linux-gnu
alors que avec lib32foo:AMD64
, les bibliothèques se retrouvent dans les "anciens" chemins tels que /usr/lib32
. Dans un avenir lointain, nous nous débarrasserions de tous les paquets lib32foo
, mais nous n'en sommes pas encore là. Au moins lib32stdc++6
est nécessaire pour la construction de gcc-X.Y
pour le moment, car il construit gcc-X.Y-multilib
, capable de prendre en charge des commutateurs tels que -m32
pour sélectionner l'architecture cible (c'est-à-dire l'architecture du binaire résultant). Sans les packages lib32foo
, les dépendances de construction de gcc-X.Y
dépasseraient les limites de l'architecture, ce qui n'est pas encore pris en charge. Quelques problèmes supplémentaires nécessitent de conserver les packages lib32foo
pendant un certain temps.