Você sempre pode fazer o download e criar a versão do GCC desejada e, em seguida, adicionar um script em / usr / bin / para executá-lo. Existem outras maneiras de fazer isso, o que envolve a edição do PATH, mas eu não estou 100% certo sobre os detalhes, então ... script, eu acho. (Nota: gcc-x.y.z é a versão que você quer usar, IE: gcc-4.9.0. Não digite gcc-x.y.z não funcionará)
Este artigo do wiki do OSDev vai sobre a instalação de uma versão do GCC (ele diz o mais novo, mas você pode fazer qualquer versão que quiser quando você baixar do espelho ftp).
Comece por fazer o download da versão do GCC desejada em aqui .
Extraia em $ HOME / src. Você deve ter uma pasta gcc ou algo assim em $ HOME / src.
Vá para gcc-x.y.z / e execute contrib/download_prerequisites
Isso deve obter as versões corretas das dependências que você precisa.
Agora decida se você quer isso apenas para você ou globalmente. Se você está apenas usando isso, você pode instalá-lo em $ HOME / opt / ou globally / usr / local / gcc-xyz (eu não acho que isso realmente importe, já que estaremos colocando um script em / usr / bin mas don cite-me sobre isso)
Agora, execute export PREFIX="$HOME/opt/gcc-x.y.z
(ou o /usr/local/gcc-x.y.z se você estiver usando isso como seu prefixo)
Agora, de acordo com o wiki do OSDev que você quer fazer
cd $HOME/src
Se você deseja construir esses pacotes como parte do gcc:
mv gmp-x.y.z gcc-x.y.z/gmp
mv mpfr-x.y.z gcc-x.y.z/mpfr
mv mpc-x.y.z gcc-x.y.z/mpc
Então:
mkdir build-gcc
cd build-gcc
../gcc-x.y.z/configure --prefix="$PREFIX" --disable-nls --enable-languages=c,c++
make
make install
Agora você pode encontrá-lo em $ PREFIX / gcc-x.y.z (deve ser o $ HOME / opt / cross ou /usr/local/gcc-x.y.z)
agora crie um arquivo em / usr / bin chamado gcc-4.9 (e g ++ - 4.9). No script, adicione
#!/bin/sh
e
$HOME/opt/gcc-x.y.z/gcc "$@"
Isso irá passar todos os argumentos do comando para esta versão do gcc. (psst, faça o mesmo para o script g ++ também)
Teste-o para ver se funciona. Além disso, se alguém tiver sugestões nos comentários, por favor, diga-me porque eu provavelmente cometi um erro em algum lugar.