Habilitando Multilib no Slackware64

Tradução e Adaptação: Bruno Tadeu Russo (Baseado no original de Eric Hameleers - Alien BOB)

O Slackware64 é, por definição, um sistema Pure 64-bit. Ao contrário de outras distros, ele não traz bibliotecas de 32 bits por padrão. Para habilitar o suporte Multilib, precisamos transformar o sistema em uma plataforma capaz de compilar e executar ambas as arquiteturas.

1. O Conceito: Por que substituir a Glibc e o GCC?

Para que o sistema entenda 32 bits, não basta apenas copiar as bibliotecas. Precisamos de:

2. Download e Instalação do Core Multilib

Você deve baixar os pacotes preparados pelo Alien BOB que correspondem à sua versão do Slackware (15.0 ou Current). O conjunto básico inclui:

Comandos de instalação (dentro da pasta dos pacotes baixados)
# upgradepkg --reinstall --install-new *.t?z
Atenção: Este comando substituirá os pacotes oficiais do Slackware pelas versões modificadas que contêm as bibliotecas de compatibilidade. Isso instalará também o compat32-tools.

3. A Camada de Compatibilidade (compat32)

Agora, precisamos trazer as bibliotecas do Slackware 32-bit para dentro do 64-bit. O script massconvert32.sh (incluído no compat32-tools) automatiza esse processo, pegando os pacotes originais e renomeando-os para evitar conflitos com os binários de 64-bit em /usr/bin.

Exemplo de conversão em massa
# mkdir /tmp/compat32 && cd /tmp/compat32
# massconvert32.sh -i /caminho/para/slackware32/slackware/
# installpkg *-compat32/*.t?z

4. Protegendo o Sistema (Blacklist)

Se você usa o slackpkg, precisa impedir que ele "reverta" sua Multilib para a versão Pure 64-bit oficial em um eventual upgrade-all. Edite /etc/slackpkg/blacklist:

# Bloqueio de pacotes Multilib
gcc
glibc
        

5. Compilando em 32-bit (O Ambiente 32dev)

Para compilar um programa como 32-bit em seu sistema 64-bit, você deve "mascarar" o ambiente. O pacote compat32-tools fornece um script para isso:

# . /etc/profile.d/32dev.sh
# Agora o seu shell prioriza bibliotecas e binários de 32 bits.

Apêndice: Lista de Pacotes Convertidos (Essenciais)

O script massconvert32.sh processa uma lista interna de bibliotecas críticas para garantir que o X11, Som (ALSA) e Gráficos (Mesa) funcionem em 32-bit:

Conflitos de Drivers de Vídeo: Após instalar o mesa-compat32, se você usa NVIDIA, reinstale o driver oficial. O instalador da NVIDIA detectará a Multilib e oferecerá a instalação das bibliotecas de 32 bits do driver, que são necessárias para que jogos 32-bit tenham aceleração 3D.