Eu tenho um software antigo que só compila com o gcc-4.6, que não está mais no repositório do Ubuntu. Então eu encontrei os pacotes fonte do Ubuntu gcc-4.6 e tentei reconstruir. No entanto, me deparo com problemas porque a fonte gcc-4.6 (do Ubuntu Trusty) tem muitos recursos especiais para construir para sistemas i386. Este é o suporte multilib.
Agora eu estou usando apenas o build build de 64 bit (amd64), mas quando eu tento construir o gcc-4.6, ele falha porque o build requer no pacote pedir um monte de coisas i386 que eu não quero incomodar. Note como mesmo que meu arco seja amd64, ele ainda pede por libc6-dev-i386.
$ dpkg-buildpackage -rfakeroot
dpkg-buildpackage: info: source package gcc-4.6
dpkg-buildpackage: info: source version 4.6.4-6ubuntu2
dpkg-buildpackage: info: source distribution trusty
dpkg-buildpackage: info: source changed by Matthias Klose <[email protected]>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build gcc-4.6-4.6.4
dpkg-checkbuilddeps: error: Unmet build dependencies: g++-multilib libc6-dev-i386 libcloog-ppl-dev (>= 0.16) libmpc-dev (>= 1.0) libelfg0-dev (>= 0.8.12) dejagnu autogen realpath (>= 1.9.12) doxygen (>= 1.7.2) gsfonts-x11 docbook-xsl-ns
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
Comecei a pesquisar na pasta debian, alterando regras e controle para tentar evitar qualquer compilação das bibliotecas de 32 bits e coisas desse tipo, mas ainda não tenho sucesso.
É engraçado procurar por ajuda nisso. Eu encontro uma tonelada de relatórios sobre como permitir a criação de 32 bits em sistemas de 64 bits. Nada sobre a criação de 64 bits apenas quando as configurações de multilib são voltadas para a construção de ambos.