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

What is really important? What makes a difference?

What is really important?
What makes a difference?

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.

Desejos

Queria ter a oportunidade de dizer o quanto estou torcendo pela tua eminente vitória... queria ter a oportunidade de participar desse momento de tua vida... sei que através do caminho que trilhamos não poderia ser diferente... mas não é assim que sinto... Estou com você em pensamentos... desejando que você vença hoje... desejando que você vença a cada dia... desejando-te BOA SORTE!

Montando partições locais sem autenticação no Ubuntu Karmic Koala


Sempre que montamos uma partição local, através da interface gráfica, temos que lidar com a janela de autenticação!

Na verdade essa é uma sábia decisão do time de desenvolvimento do Ubuntu Karmic Koala do ponto de vista de seguraça, mas a bem chato do ponto de vista do usuário que gostaria que a partição apenas monte magicamente.



Para solucionar essa questão é muito fácil.

Basta pressionar Alt+F2 e digitar: gksu gedit /usr/share/polkit-1/actions/org.freedesktop.devicekit.disks.policy. No arquivo que abriu localize a linha que contem o texto org.freedesktop.devicekit.disks.filesystem-mount-system-internal, em seguida localize auth_admin_keep e substitua por yes.



Pronto, discos/partições locais montarão sem solicitar senha.

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