Chapitre 7. Applications 32 bits et 64 bits dans un environnement système 64 bits

Table des matières

7.1. Prise en charge de l'exécution
7.2. Développement de logiciels
7.3. Compilation de logiciels sur des plates-formes biarch (à double architecture)
7.4. Spécifications du kernel

Résumé

SUSE Linux est disponible pour plusieurs plates-formes 64 bits. Cela ne veut pas forcément dire que toutes les applications fournies avec ont déjà été transférées sur des plates-formes 64 bits. SUSE Linux prend en charge l'utilisation d'applications 32 bits dans un environnement système 64 bits. Ce chapitre vous propose une brève présentation de la mise en oeuvre de cette prise en charge sur les plates-formes SUSE Linux 64 bits. Il explique comment les applications 32 bits sont exécutées (prise en charge de l'exécution) et comment vous devez les compiler pour les exécuter aussi bien sur des environnements système 32 bits que 64 bits. De plus, vous obtiendrez des informations sur l'API du kernel, ainsi qu'une explication sur comment les applications 32 bits peuvent être exécutées avec un kernel 64 bits.

SUSE Linux pour les plates-formes 64 bits AMD64 et EM64T a été conçu de sorte à ce qu'il soit possible d'exécuter les applications 32 bits existantes « prêtes à l'emploi » dans des environnements 64 bits. Grâce à cette prise en charge, vous pouvez continuer à utiliser vos applications 32 bits habituelles sans attendre la mise à disposition d'un port 64 bits correspondant.


7.1. Prise en charge de l'exécution

[Important]conflits entre les versions des applications

Si une application est disponible à la fois pour les environnements 32 bits et 64 bits, l'installation simultanément de ces deux versions entraînera forcément des problèmes. Dans de tels cas, décidez laquelle de ces deux versions installer et utiliser.

Pour que toutes les applications soient correctement exécutées, elles requièrent chacune toute une gamme de bibliothèques. Malheureusement, les noms des versions 32 bits et 64 bits de ces bibliothèques sont identiques. Vous devez donc les différencier.

La compatibilité avec la version 32 bits est possible en stockant les bibliothèques au même emplacement dans votre système que dans l'environnement 32 bits. La version 32 bits de libc.so.6 se situe dans /lib/libc.so.6 dans les deux environnements 32 bits et 64 bits.

Toutes les bibliothèques et tous les fichiers d'objets 64 bits sont situés dans des répertoires lib64. Les fichiers d'objets 64 bits que vous vous attendriez à trouver normalement dans les répertoires /lib, /usr/lib et /usr/X11R6/lib sont mainte­nant dans les répertoires /lib64, /usr/lib64 et /usr/X11R6/lib64. Cela signifie qu'il y a de l'espace disponible pour les bibliothèques 32 bits dans /lib, /usr/lib et /usr/X11R6/lib : les noms de fichier peuvent donc rester les mêmes dans les deux versions.

Quant aux sous-répertoires des répertoires d'objets dont les données ne dépendent pas de la taille du mot, aucun d'entre eux n'est déplacé. Par exemple, les polices X11 restent à leur emplacement habituel : /usr/X11R6/lib/X11/fonts. Ce modèle est conforme aux normes LSB (Linux Standards Base - normes Linux de base) et FHS (File System Hierarchy Standard - norme pour la hiérarchisation du système de fichiers).