Capítulo 6. Programas de 32 y 64 bits en entornos de 64 bits

Tabla de contenidos

6.1. Soporte en tiempo de ejecución
6.2. Desarrollo de software
6.3. Compilación de software en plataformas Biarch
6.4. Soporte en el kernel

Resumen

SUSE LINUX está disponible para varias plataformas de 64 bits. Esto no significa necesariamente que todas las aplicaciones hayan sido portadas a 64 bits. SUSE LINUX soporta el uso de aplicaciones de 32 bits en entornos de 64 bits. El presente capítulo le ofrece una visión general sobre la implementación de este soporte en las plataformas de 64 bits de SUSE LINUX. Este capítulo describe cómo se ejecutan las aplicaciones de 32 bits (soporte para tiempo de ejecución) y el modo en que las aplicaciones de 32 bits han de ser compiladas a fin de poder ejecutarlas tanto en entornos de 32 como de 64 bits. Asimismo, incluye información acerca del API del kernel y una explicación sobre cómo pueden ejecutarse las aplicaciones de 32 bits bajo un kernel de 64 bits.

SUSE LINUX para las plataformas de 64 bits AMD64 y EM64T está diseñado de tal forma que las aplicaciones de 32 bits existentes funcionen en entornos de 64 bits sin necesidad de llevar a cabo ninguna configuración. Este soporte le permite seguir utilizando sus aplicaciones de 32 bits preferidas sin tener que esperar a que sean portadas a 64 bits.

6.1. Soporte en tiempo de ejecución

[Important]Conflictos entre las versiones de 32 y 64 bits de una aplicación

Si una aplicación está disponible tanto para 32 como para 64 bits, la instalación paralela de ambas versiones siempre ocasionará problemas. En estos casos es necesario decidirse por una de las dos versiones.

Todas las aplicaciones requieren una serie de librerías para su correcta ejecución. Lamentablemente los nombres de las librerías de 32 y de 64 bits son idénticos. Por eso hace falta otro mecanismo para distinguirlas.

para mantener la compatibilidad con la versión de 32 bits, las librerías se guardan exactamente en el mismo sitio en el que se guardan en la versión de 32 bits. La versión de 32 bits de la librería libc.so.6 se encuentra en /lib/libc.so.6 tanto en los entornos de 32 como de 64 bits.

Todas las librerías y archivos objeto de 64 bits se encuentran en directorios denominados lib64. Los archivos objeto de 64 bits que normalmente se encuentran en /lib, /usr/lib y /usr/X11R6/lib se encuentran ahora en /lib64, /usr/lib64 y /usr/X11R6/lib64. De esta forma las librerías de 32 bits se pueden guardar en los directorios /lib, /usr/lib y /usr/X11R6/lib. Los nombres de los archivos son idénticos para ambas versiones.

Los subdirectorios de los directorios objeto cuyo contenido binario no dependa del tamaño de la palabra no se mueven. Por ejemplo, los tipos de letra X11 se encuentran como es habitual en /usr/X11R6/lib/X11/fonts. Este esquema concuerda con el estándar de Linux LSB (Linux Standards Base) y el FHS (File System Hierarchy Standard).


SUSE LINUX Manual de administración 9.3