Guia Pós-Instalação do Slackware - edição 2015
Este artigo é uma atualização dos artigos que já publiquei sobre o tema, bem como uma discussão sobre práticas e heresias que podem facilitar a vida de um slacker.
Parte 6: Multilib: compilando e executando programas para 32 bits no Slackware64
Esta página é exclusiva para usuários do Slackware64, ou o Slackware 64 bits. Usuários da versão 32 bits devem fazer a gentileza de se encaminhar para a próxima página do artigo, do contrário GLaDOS realizará alguns testes em você.
Multilib é o nome dado à capacidade de um sistema operacional de 64 bits processar programas e bibliotecas específicas para sistemas operacionais de 32 bits. No mundo do software livre essa exclusividade não é tão comum quanto no sistema operacional da Redmond, mas existem três programas para GNU/Linux famosos por dependerem sobremaneira do multilib da máquina: Wine, GRUB e Steam.
Ao contrário de outras distribuições GNU/Linux de 64 bits, o Slackware64 não vem com o multilib habilitado por padrão. Considerando que o multilib gera um impacto na memória e no processamento do sistema maior do que um sistema 64 bits puro, a decisão do Cara foi deixar o Slackware pronto para receber o multilib, deixando nas mãos do usuário a decisão de habilitá-lo ou não.
Para habilitar o multilib, é preciso substituir alguns pacotes do Slack por suas versões multilib, instalar algumas bibliotecas de compatibilidade e fazer algumas alterações no /etc/slackpkg/blacklist. Vamos começar por essas alterações. Adicione ao arquivo de lista negra as linhas:
Com isso o slackpkg não desinstalará os pacotes necessários para o multilib, nem os substituirá pelas versões 64 bits originais. O próximo passo é obter e instalar os pacotes multilib. AlienBOB já nos fez o grande favor de deixar tudo pronto em seu espelho, e os comandos a seguir fazem todo o trabalho sujo por você:
# VERSION=14.1 # substituir pela versão do Slackware que você usa, ou por "current" (sem aspas) caso você use o Slack64 current
# lftp -c "open http://taper.alienbase.nl ; mirror mirrors/people/alien/multilib/$VERSION multilib-$VERSION"
# cd multilib-$VERSION
# find . -name "*t?z" -execdir upgradepkg --reinstall --install-new {} \;
Após isso tudo o multilib estará habilitado em seu Slackware! Há porém uns detalhes importantes:
# . /etc/profile.d/32dev.sh
Para configurar o ambiente de maneira adequada à compilação de programas 32 bits. Compile o pacote normalmente, lembrando de definir a variável "ARCH=i486" - lembre-se, o pacote é de 32 bits! Após compilar o pacote, não o instale diretamente: converta-o antes para um pacote compatível com o seu Slack64:
# convertpkg-compat32 -i pacote32bits.tgz
# upgradepkg --install-new pacote-compat32.tgz
Após instalar o multilib, ele estará disponível tão logo você reinicie o sistema. Mas espere! Ainda não é hora de fazer isso! Faltam as configurações finais!
Multilib é o nome dado à capacidade de um sistema operacional de 64 bits processar programas e bibliotecas específicas para sistemas operacionais de 32 bits. No mundo do software livre essa exclusividade não é tão comum quanto no sistema operacional da Redmond, mas existem três programas para GNU/Linux famosos por dependerem sobremaneira do multilib da máquina: Wine, GRUB e Steam.
Ao contrário de outras distribuições GNU/Linux de 64 bits, o Slackware64 não vem com o multilib habilitado por padrão. Considerando que o multilib gera um impacto na memória e no processamento do sistema maior do que um sistema 64 bits puro, a decisão do Cara foi deixar o Slackware pronto para receber o multilib, deixando nas mãos do usuário a decisão de habilitá-lo ou não.
Para habilitar o multilib, é preciso substituir alguns pacotes do Slack por suas versões multilib, instalar algumas bibliotecas de compatibilidade e fazer algumas alterações no /etc/slackpkg/blacklist. Vamos começar por essas alterações. Adicione ao arquivo de lista negra as linhas:
[0-9]+multilib
[0-9]+compat32
[0-9]+compat32
Com isso o slackpkg não desinstalará os pacotes necessários para o multilib, nem os substituirá pelas versões 64 bits originais. O próximo passo é obter e instalar os pacotes multilib. AlienBOB já nos fez o grande favor de deixar tudo pronto em seu espelho, e os comandos a seguir fazem todo o trabalho sujo por você:
# VERSION=14.1 # substituir pela versão do Slackware que você usa, ou por "current" (sem aspas) caso você use o Slack64 current
# lftp -c "open http://taper.alienbase.nl ; mirror mirrors/people/alien/multilib/$VERSION multilib-$VERSION"
# cd multilib-$VERSION
# find . -name "*t?z" -execdir upgradepkg --reinstall --install-new {} \;
Após isso tudo o multilib estará habilitado em seu Slackware! Há porém uns detalhes importantes:
Compilando programas 32 bits
Antes de compilar um programa exclusivo para 32 bits rode o comando:# . /etc/profile.d/32dev.sh
Para configurar o ambiente de maneira adequada à compilação de programas 32 bits. Compile o pacote normalmente, lembrando de definir a variável "ARCH=i486" - lembre-se, o pacote é de 32 bits! Após compilar o pacote, não o instale diretamente: converta-o antes para um pacote compatível com o seu Slack64:
# convertpkg-compat32 -i pacote32bits.tgz
# upgradepkg --install-new pacote-compat32.tgz
Executando programas 32 bits
Simplesmente execute-o! No caso de reclamar da ausência de uma biblioteca qualquer, instale a versão compat32 dela (criada pelo método acima).Após instalar o multilib, ele estará disponível tão logo você reinicie o sistema. Mas espere! Ainda não é hora de fazer isso! Faltam as configurações finais!
Nem li ainda mas já favoritei! Assim que possível lerei com carinho e atenção que o texto merece.