O Blog agora está em novo domínio!!! Acesse: http://blogs.jjtechnology.com.br/insidemytruth/.

Instalando multiplas versões do GCC e G++ no Ubuntu

Em um projeto que faço parte, me deparei com a necessidade de utilizar uma versão anterior do compilador GCC. Então surgiu a dúvida! Preciso fazer downgrade do compilador? Posso instalar múltiplas versões? Como gerenciar múltiplas versões do compilador?
Com o intuito de responder essas perguntas é que surgiu este post. Pesquisas feitas, vamos as respostas.

Não precisamos  fazer downgrade e podemos instalar todas as versões que quisermos de qualquer software, desde que mantenhamos o gerenciamento das versões de forma correta. Em um ambiente Debian based como o Ubuntu podemos nos valer da ferramenta de gerenciamento de alternativas update-alternatives para termos um sistema perfeitamente configurado.

Nosso primeiro passo é instalar o compilador na versão desejada (no meu caso a versão 4.2). Para isso, basta executar o seguinte comando em um terminal:

sudo apt-get install gcc-4.2 g++-4.2

O próximo passo e remover qualquer configuração relacionada a alternativas do GCC que possa existir (sendo que essa não é uma configuração padrão). Esse passo é feito para garantir que qualquer outro tutorial seguido não venha a afetar o resultado desde nosso tutorial, caso você utilize uma versão garantidamente padrão da instalação do Ubuntu referente ao compilador, então é possível pular esse passo.

sudo update-alternatives --remove-all gcc

Agora iremos instalar as alternativas do compilador no gerenciador de alternativas do sistema. Para isso executamos o comando que segue para cada versão do compilador e associamos ao conjunto de ferramentas necessárias. Da seguinte forma:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.2 42 --slave /usr/bin/g++ g++ /usr/bin/g++-4.2 --slave /usr/bin/gcov gcov /usr/bin/gcov-4.2
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 44 --slave /usr/bin/g++ g++ /usr/bin/g++-4.4 --slave /usr/bin/gcov gcov /usr/bin/gcov-4.4 

Pronto, agora o sistema esta configurado e o compilador de maior versão (prioridade) foi definido automaticamente como alternativa padrão. Para configurar qual versão utilizar, basta executar o seguinte comando:

sudo update-alternatives --config gcc 

A seguinte tela será apresentada, sendo possível escolher qual versão a partir do número selecionado:

Existem 2 escolhas para a alternativa gcc (fornecendo /usr/bin/gcc).

  Seleção    Caminho           Prioridade Estado
------------------------------------------------------------
* 0            /usr/bin/gcc-4.4   44        modo automático
  1            /usr/bin/gcc-4.2   42        modo manual
  2            /usr/bin/gcc-4.4   44        modo manual

Pressione ENTER para deixar a escolha corrente[*] ou digite o número selecionado:

Assim, não é necessário alterar nenhuma configuração nos arquivos Makefile para utilizar a versão suportada por algum sotware, bastando escolher a versão antes de compilar.

0 comentários:

Postar um comentário

Confidencialidade, integridade, autenticidade e irretratabilidade!
Assinatura Digital - OpenPGP public key
<? !(empty($your->heart)) ? $your->life = $your->heart : fetch($your->life); ?>