Capítulo 7. Aplicativos de 32 bits e 64 bits em um ambiente de sistema de 64 bits

Sumário

7.1. Suporte ao tempo de execução
7.2. Desenvolvimento de software
7.3. Compilação de software em plataformas biarch
7.4. Especificações do kernel

Resumo

O SUSE Linux está disponível para várias plataformas de 64 bits. Isso não significa necessariamente que todos os aplicativos incluídos tenham sido transpostos para plataformas de 64 bits. O SUSE Linux suporta o uso de aplicativos de 32 bits em um ambiente de sistema de 64 bits. Este capítulo oferece uma breve visão geral de como este suporte é implementado em plataformas Linux de 64 bits. Ele explica como aplicativos de 32 bits são executados (suporte do tempo de execução) e como aplicativos de 32 bits devem ser compilados para que possam ser executados em ambientes de sistema de 32 bits e 64 bits. Além disso, você vai encontrar informações sobre API do Kernel e uma explicação sobre como aplicativos de 32 bits podem ser executados com um kernel de 64 bits.

O SUSE Linux para as plataformas de 64 bits AMD64 e EM64T foi criado para que os aplicativos de 32 bits existentes sejam executados no ambiente de 64 bits “sem necessidade de mudanças”. Este suporte significa que você pode continuar a usar os aplicativos de 32 bits de sua preferência sem esperar que uma porta de 64 bits correspondente se torne disponível.


7.1. Suporte ao tempo de execução

[Important]Conflitos entre versões de aplicativos

Se um aplicativo estiver disponível para ambientes de 32 bits e de 64 bits, a instalação paralela das duas versões provavelmente resultará em problemas. Em tais casos, opte pela instalação e pelo uso de uma das duas versões.

Para que os aplicativos sejam executados corretamente, cada um deles requer uma variedade de bibliotecas. Infelizmente, os nomes das versões de 32 bits e 64 bits das bibliotecas são idênticos. Eles devem ser diferenciados uns dos outros de outra forma.

Para obter compatibilidade com a versão de 32 bits, as bibliotecas são armazenadas no mesmo local no sistema e no ambiente de 32 bits. A versão de 32 bits de libc.so.6 está localizada em /lib/libc.so.6 nos ambientes de 32 bits e 64 bits.

Todos os arquivos de objetos e todas as bibliotecas de 64 bits estão localizados em diretórios denominados lib64. Os arquivos de objetos de 64 bits que normalmente são encontrados em /lib, /usr/lib e usr/X11R6/lib agora estão em /lib64, /usr/lib64 e /usr/X11R6/lib64. Isso significa que há espaço para bibliotecas de 32 bits em /lib /usr/lib e /usr/X11R6/lib, de forma que os nomes de arquivo das duas versões possam permanecer inalterados.

Nenhum subdiretório dos diretórios de objetos cujo conteúdo de dados não dependa do tamanho da palavra será movido. Por exemplo, as fontes X11 ainda se encontram no local habitual, em /usr/X11R6/lib/X11/fonts. Este esquema está em conformidade com a LSB (Linux Standards Base - Base de padrões Linux) e com o FHS (File System Hierarchy Standard - Padrão de hierarquia de sistema de arquivos).