web-dev-qa-db-fra.com

Différence entre l'installation de libx: i386 et lib32x

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.

4
Forage

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.

2
Helmut Grohne