Consegui criar com sucesso o gcc-4.9.0. desta pergunta: link ; Vi esta resposta link que foi particularmente útil para esta solução.
Abaixo estão as etapas realizadas
1. Faça o download dos arquivos necessários. Para construir o gcc, são necessárias três dependências:
a. GNU Multiple Precision Arithmetic Library (GMP) - Eu usei o gmp-6.0.0
b. Múltipla precisão de ponto flutuante GNU confiável (MPFR) - eu usei mpfr-3.1.2
c. O GNU MPC - mpc-1.0.2 foi usado.
Tudo isso pode ser baixado aqui: link , você também pode baixar o gcc de um dos seus sites espelho aqui link
2. Declarar suas variáveis
gccver=4.9.0
gmpver=6.0.0
mpfrver=3.1.2
mpcver=1.0.2
# where you downloaded source packages
pkgdir=$HOME
# where gcc will be built
rootdir=$HOME/gcc-tmp
# where gcc will be installed
prefix=/opt/gcc-${gccver}
# the languages you want gcc to support
langs=c,c++
3. Crie um novo diretório onde você deseja manter as fontes e extrair as fontes lá
mkdir ${rootdir}
cd ${rootdir}
gzip -dc ${pkgdir}/gcc-${gccver}.tar.gz | tar xvf -
gzip -dc ${pkgdir}/gcc-${gmpver}.tar.gz | tar xvf -
gzip -dc ${pkgdir}/gcc-${mpfrver}.tar.gz | tar xvf -
gzip -dc ${pkgdir}/gcc-${mpcver}.tar.gz | tar xvf -
OBSERVAÇÃO: se você tiver um problema como erro de soma de verificação ao extrair o arquivo, consulte: Como extrair corretamente a .tar.gz com md5.sum no solaris 10 para soluções.
4. Agora, mova as fontes extraídas para o diretório de origem do gcc
mv gmp-${gmpver} gcc-${gccver}/gmp
mv mpfr-${mpfrver} gcc-${gccver}/mpfr
mv mpc-${mpcver} gcc-${gccver}/mpc
5. Crie um diretório de criação e mude para ele
mkdir objdir
cd objdir
6. Agora configure o gcc:
${rootdir}/gcc-${gccver}/configure --prefix=${prefix} --enable-languages=${langs}
7. Então, construa o gcc
gmake
8. Finalmente, instale o gcc:
gmake install
É isso!
Embora o gcc.4.9.0 tenha sido construído, o passo também pode ser seguido para construir outras versões.
Você pode querer testar seu gcc recém-instalado para ver se funciona ou não, eis como:
Crie um arquivo hello.c simples como este
#include <stdio.h>
int
main (void)
{
printf ("Hello, world!\n");
return 0;
}
depois do uso do terminal
/opt//opt/gcc-4.9.0/bin/gcc hello.c -o hello
You should see hello filed created in the same directory as hello.c