Capítulo 7. Aplicaciones de 32 bits y de 64 bits en un entorno de sistema de 64 bits

Tabla de contenidos

7.1. Asistencia sobre tiempo de ejecución
7.2. Desarrollo de software
7.3. Compilación de software en plataformas de doble arquitectura
7.4. Especificaciones de núcleo

Resumen

SUSE Linux es compatible con varias plataformas de 64 bits. Esto no significa necesariamente que todas las aplicaciones incluidas se hayan trasladado a plataformas de 64 bits. SUSE Linux admite aplicaciones de 32 bits en entornos de sistema de 64 bits. Este capítulo ofrece una breve descripción general acerca de cómo se implementa esta compatibilidad en las plataformas SUSE Linux de 64 bits y explica cómo ejecutar las aplicaciones de 32 bits (compatibilidad en tiempo de ejecución) y cómo se deben compilar las aplicaciones de 32 bits para que puedan ejecutarse tanto en entornos de sistema de 32 bits como de 64 bits. Además, encontrará información acerca de la API de núcleo y de cómo pueden ejecutarse aplicaciones de 32 bits en un núcleo de 64 bits.

SUSE Linux para plataformas de 64 bits AMD64 y EM64T ha sido diseñado para poder ejecutar las aplicaciones de 32 bits existentes en los entornos de 64 bits “tal cual”. Esta compatibilidad hace posible que pueda seguir utilizando sus aplicaciones de 32 bits preferidas sin tener que esperar a que aparezca en el mercado el puerto de 64 bits correspondiente.


7.1. Asistencia sobre tiempo de ejecución

[Important]Conflictos entre diferentes versiones de aplicaciones

Si hay una aplicación disponible tanto para entornos de 32 bits como de 64 y se instalan las dos versiones paralelamente, es inevitable que se produzcan problemas. En estos casos, tendrá que optar por instalar y utilizar sólo una de las dos versiones.

Para que las aplicaciones se puedan ejecutar correctamente, es necesario disponer de ciertas bibliotecas. Desafortunadamente, los nombres de las versiones de 32 bits y 64 bits de estas bibliotecas son idénticos. Es necesario distinguirlos de otra forma.

Para mantener la compatibilidad con la versión de 32 bits, las bibliotecas se almacenan en el mismo sitio del sistema que en el entorno de 32 bits. La versión de 32 bits de libc.so.6 se encuentra en /lib/libc.so.6 tanto en el entorno de 32 bits como en el de 64.

Todas las bibliotecas de 64 bits y los archivos de objeto se ubican en directorios llamados lib64. Los archivos de objeto de 64 bits que normalmente se suelen encontrar en /lib, /usr/lib y /usr/X11R6/lib, están ahora en /lib64, /usr/lib64 y /usr/X11R6/lib64. Esto significa que habrá un lugar reservado para las bibliotecas de 32 bits en /lib, /usr/lib y /usr/X11R6/lib para que no sea necesario cambiar el nombre de archivo para las dos versiones.

Los subdirectorios de los directorios de objeto cuyos datos no dependen del tamaño de palabra no se han cambiado de sitio. Por ejemplo, las fuentes X11 siguen estando en su ubicación habitual, /usr/X11R6/lib/X11/fonts. Este esquema sigue las directrices de los estándares LSB (base de estándares de Linux, del inglés Linux Standards Base) y FHS (estándar jerárquico del sistema de archivos, del inglés File System Hierarchy Standard).