Esta página destina-se a oferecer orientação para evitar alguns problemas comuns ao instalar GCC, os documentos oficiais de instalação estão na secção Instalar GCC da documentação principal do GCC. N.B. Esses documentos de instalação referem-se ao tronco de desenvolvimento, as instruções de instalação das versões lançadas estão incluídas nas fontes de lançamento.
Para a maioria das pessoas a forma mais fácil de instalar GCC é instalar um pacote feito para o seu sistema operativo. O projecto GCC não fornece binários pré-construídos de GCC, apenas código fonte, mas todas as distribuições GNU/Linux incluem pacotes para GCC. Os sistemas baseados no BSD incluem o GCC nas suas colecções de portes. Para outros sistemas operativos a página Instalando GCC: Binários lista algumas fontes de terceiros de binários de GCC.
Se não encontrar binários adequados para o seu sistema, ou se precisar de uma versão mais recente do que a disponível, terá de construir GCC a partir do código fonte para o instalar.
Construindo GCC
Muitas pessoas apressam-se a tentar construir GCC sem ler correctamente os documentos de instalação e cometem um ou mais destes erros comuns:
- p> não executar ./configurar a partir do directório de origem, isto não é suportado. É necessário executar a configuração a partir do exterior do directório de origem, num directório separado criado para a compilação (este é um FAQ)
-
se o GCC se ligar dinamicamente ao GMP, As bibliotecas de suporte MPFR ou MPC devem então estar no caminho do ligador dinâmico, tanto ao construir o gcc como ao utilizar o compilador instalado (esta é também uma FAQ)
Bibliotecas de suporte
Ver Instalação do GCC: Pré-requisitos para o software necessário para construir o GCC. Se não tiver as bibliotecas de suporte GMP, MPFR e MPC já instaladas como parte do seu sistema operativo, então há duas formas simples de proceder, e uma difícil e sujeita a erros. Por alguma razão, a maioria das pessoas escolhe o caminho difícil. As maneiras fáceis são:
-
Se fornecer versões suficientemente recentes, utilize o seu sistema de gestão de pacotes de SO para instalar as bibliotecas de suporte em locais padrão do sistema. Para sistemas baseados em Debian, incluindo Ubuntu, deve instalar os pacotes libgmp-dev, libmpfr-dev e libmpc-dev. Para sistemas baseados em RPM, incluindo Fedora e SUSE, deve instalar os pacotes gmp-devel, mpfr-devel e libmpc-devel (ou mpc-devel no SUSE). Os pacotes instalarão as bibliotecas e cabeçalhos em directórios de sistema padrão para que possam ser encontrados automaticamente ao construir o GCC.
- p>p>Alternativamente, depois de extrair o arquivo de fontes GCC, basta executar o script ./contrib/download_prerequisites no directório de fontes GCC. Isto irá descarregar as bibliotecas de suporte e criar links simbólicos, fazendo com que sejam construídos automaticamente como parte do processo de construção do GCC. Defina GRAPHITE_LOOP_OPT=no no script se quiser construir GCC sem ISL, o que só é necessário para as optimizações opcionais de loop Graphite.
A forma difícil, que não é recomendada, é descarregar as fontes para GMP, MPFR e MPC, depois configurar e instalar cada uma delas em locais não-padronizados, depois configurar GCC com –with-gmp=/some/silly/path/gmp –with-mpfr=/some/silly/path/mpfr –with-mpc=/some/silly/path/mpc, depois ser forçado a definir LD_LIBRARY_PATH=/some/silly/path/gmp:/some/silly/path/mpfr:/some/silly/path/mpc/lib no seu ambiente para sempre. Isto é uma parvoíce e causa grandes problemas a qualquer pessoa que não compreenda como é que os linkers dinâmicos encontram bibliotecas em tempo de execução. Não faça isto. Se a construção de GCC falhar ao utilizar qualquer uma das opções –com-gmp ou –com-mpfr ou –com-mpc, então provavelmente não deverá utilizá-las.
Configuração
Ver Instalar GCC: Configuração para a documentação completa. Uma grande vantagem de correr srcdir/configure a partir de fora do directório fonte (em vez de correr ./configure) é que o directório fonte não será modificado de forma alguma, por isso se a sua compilação falhar ou se quiser reconfigurar e construir novamente, basta apagar tudo no objdir e começar de novo.
Por exemplo, configurar e construir o GCC 4.6.2 (com suporte para C, C++, Fortran e Go) deve ser tão simples como isso:
tar xzf gcc-4.6.2.tar.gzcd gcc-4.6.2./contrib/download_prerequisitescd ..mkdir objdircd objdir$PWD/../gcc-4.6.2/configure --prefix=$HOME/GCC-4.6.2 --enable-languages=c,c++,fortran,gomakemake install
O passo de fazer leva muito tempo. Se o seu computador tiver vários processadores ou núcleos, pode acelerá-lo construindo em paralelo usando o make -j 2 (ou um número mais alto para mais paralelismo).
Se a sua construção falhar e o seu comando de configuração tiver muitas opções complicadas, deve tentar remover opções e mantê-las simples. Não adicione muitas opções de configuração que não compreenda, elas podem ser a razão pela qual a sua compilação falha.