Translation(s): Brasileiro - English - Español - Français - Русский

Prise en charge du multiarch dans Debian

À propos

« Multiarch » est le terme utilisé pour désigner la capacité d'un système à installer et à exécuter des applications de plusieurs cibles binaires différentes sur le même système. Par exemple, exécuter une application i386-linux-gnu sur un système amd64-linux-gnu. Cet exemple est le cas le plus courant, mais de nombreuses autres combinaisons d'usages sont possibles, comme armel et armhf.

Multiarch simplifier également la compilation croisée, où des bibliothèques d'architecture étrangère et des en-têtes sont nécessaires sur un système durant la compilation.

Les propositions existantes permettent la co-installation de bibliothèques et d'en-têtes pour différentes architectures, mais pas (encore) de binaires. Vous pouvez donc avoir soit la version i386 d'un binaire, soit la version amd64, mais pas les deux (en utilisant les chemins /bin conventionnels). Toutes les dépendances seront installées et disponibles pour le binaire correspondant.

Multiarch est un développement important et puissant, et affecte de nombreux processus et aspects du système. Les effets pratiques immédiates sont de se passer du paquet ia32-libs, et de permettre des dépendances inter-architectures appropriées pour la compilation croisée.

Il a été utilisé pour la première fois dans Ubuntu Natty et Debian Wheezy, ainsi que pour les bootstraps des portages arm64 et mips64el.

Documentation

Ces documents en définissent la mise en œuvre et devraient fournir tout ce que vous devez savoir.

Le cas du multiarch
Pourquoi nous endurons-nous toute cette douleur ? La lib64 n'est-elle pas assez bonne pour tout le monde ?

Spécification du gestionnaire de paquet multiarch
Spécification principale, détaillant comment les fichiers sont disposés, comment les dépendances sont définies et comment cela fonctionne en combinaison avec apt et dpkg.

Multiarch/Tuples. Le schéma de tuple utilisé pour les chemins multiarch (au lieu des triplets GNU).

Multiarch HOWTO pour les utilisateurs
Informations orientées utilisateur sur comment utiliser multiarch : configuration, installation, compilation croisée.

Multiarch conversion howto
Un document orienté mainteneur détaillant comment vous pouvez convertir votre paquet de de bibliothèque pour des chemins multiarch.

Bootstrapping Le processus/la commande/la chronologie pour obtenir un multiarch de Debian unstable.

Problèmes des outils Le processus de conversion peut produire des problèmes pour des outils utilisant apt ou dpkg et ceux-ci pouvant être documentés ici.

Spécification de compilation croisée multiarch
Comment multiarch est utilisé pour la compilation croisée , incluant les extentions pour prendre en charge des dépendances de compilation croisée.

Comportement de linker and multilib
Explications détaillées sur linker, gcc, libc et multilib. N'abordant pas strictement de spécification multiarch, mais expliquant comment cela fonctionne, et clarifie des discussion sur les futurs développements.

Il existe de nombreux autres documents désormais remplacés. Des liens existent ci-dessous pour tous ceux qui se soucient de l'histoire du développement.

Ressources

Canal IRC : #multiarch sur irc.debian.org (OFTC).

Il n'y a pas de liste de discussion spécifique. There is no specific mailing list. Les discussions se situent sur les listes/canaux des paquets et outils concernés, tels que dpkg, apt, gcc et les listes de développement générales (par exemple debian-devel).

Statut actuel

Débuté sur Ubuntu Natty et Debian Wheezy.

Prise en charge de apt dans Debian Squeeze et Ubuntu Maverick

Correctifs pour gcc, eglibc, et un certin nombre de bibliothèques de base sont disponible dans Ubuntu natty.ch

Prise en charge dpkg disponible à partir de la version 1.16.2.

Outil tuple : https://code.launchpad.net/~vorlon/+junk/multiarch-tools

Futurs développements

L'ajout de prise en charge pour des binaires co-installables est une probable future extension, mais ne fait pas partie du champ de travail actuel de multiarch (pour que cela ne prenne que 7 ans, et pas 15).

Multiarch rend de diverses choses possibles ou encore plus faciles : les dépendances trans-architectures, compilations croisées dans l'archive, architectures partielles. Une réunion tenue durant la debconf11 discute de ces problèmes : Multiarch/Debconf11MultiarchRelatedMinutes.

Histoire

La genèse de multiarch a été (très) longue, et la proposition a changé significativement en cours de route. Voici quelques-unes des dates de changements, avec des liens vers les documents écrits à cette période. Ceux-ci ont tous été remplacés par la référence de la documentation ci-dessus.

Anciennes ressources (en anglais)