A resposta de Lekensteyn entrou em conflito com muitos pacotes existentes para mim (em oníricos de 64 bits).
Eu fiz isso, o que puxou o pacote libc6-dev-i386
:
apt-get install gcc-multilib
Estou tentando compilar um programa c como um binário de 32 bits em vez de 64 bits. Comecei adicionando -m32
e obtive alguns erros. Pesquisando um pouco, encontrei uma nota para instalar o ia32-libs. A execução de apt-get install ia32-libs
resultou em uma notificação que já estava instalada e na versão mais recente.
Existe uma cadeia de bibliotecas, incluindo a próxima, até falhar:
/usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory
Parece que a inclusão de versões de 32 bits do outro inclui /usr/include/c++/4.6/x86_64-linux-gnu/32/bits/ ...
O que estou perdendo?
A resposta de Lekensteyn entrou em conflito com muitos pacotes existentes para mim (em oníricos de 64 bits).
Eu fiz isso, o que puxou o pacote libc6-dev-i386
:
apt-get install gcc-multilib
ia32-libs
apenas contém algumas bibliotecas de compatibilidade que ainda não foram migradas para o Multi Arch. Para compilar bibliotecas de 32 bits, você precisa instalar as bibliotecas de 32 bits e os arquivos de desenvolvimento de C:
sudo apt-get install libc6-dev:i386
Veja também: O recurso multiarch em 11.10 significa a morte da força - as instalações de arquitetura?