Erro de bootstrap ao compilar o GCC 4.8.0

2

Estou recebendo erros de bootstrap ao tentar instalar o GCC e posso usar alguma ajuda. Eu estou tentando compilar o GCC no meu diretório home em um sistema compartilhado (cluster). O cluster tem o GCC 4.4.3, que estou usando para inicializar a compilação. Eu escrevi este pequeno script para mostrar o que estou fazendo e ajudar na depuração:

# Installation parameters
gccver=4.8.0
gmpver=5.1.1
mpcver=1.0.1
mpfrver=3.1.2
prefix=$HOME/local
langs=c,c++

# Download source
wget ftp://gnu.mirror.iweb.com/gnu/gcc/gcc-${gccver}/gcc-${gccver}.tar.gz
wget ftp://ftp.gnu.org/gnu/gmp/gmp-${gmpver}.tar.bz2
wget ftp://ftp.gnu.org/gnu/mpc/mpc-${mpcver}.tar.gz
wget ftp://ftp.gnu.org/gnu/mpfr/mpfr-${mpfrver}.tar.gz

# Unpack source
tar -xzvf gcc-${gccver}.tar.gz
tar -xjvf gmp-${gmpver}.tar.bz2
tar -xzvf mpc-${mpcver}.tar.gz
tar -xzvf mpfr-${mpfrver}.tar.gz

# Move dependency source directories into gcc source directory
mv gmp-${gmpver} gcc-${gccver}/gmp
mv mpc-${mpcver} gcc-${gccver}/mpc
mv mpfr-${mpfrver} gcc-${gccver}/mpfr

# create a build directory and change to it
mkdir objdir
pushd objdir

# configure, make, check, and install gcc:
../gcc-${gccver}/configure --prefix=${prefix} --enable-languages=${langs}
make -j 16
make install

# return to the original directory
popd

O erro acima falha durante 'make' com o erro: "Falha na comparação do Bootstrap!" Enviei as últimas páginas de saída como error.txt e também config.log do estágio de configuração. Eu tentei:

  1. executando make distclean de objdir e re-executando configure e make.
  2. removendo -j 16 de make .
  3. usando um caminho absoluto ao chamar o configure.
  4. usando o script contrib/download_prerequisites para fazer o download mpfr-2.4.2, gmp-4.3.2 e mpc-0.8.1, em vez das versões mais recentes acima.
  5. configurando a variável de ambiente PWDCMD para um pwd com reconhecimento automático comando (pawd).
  6. bootstrapping com uma versão diferente do GCC (3.4.6).
  7. bootstrapping com o ICC 12.0.0 via export CC=icc e export CXX=icpc .

Eu também tentei postar essa pergunta na lista de discussão do gcc; foi aí que recebi a sugestão (2) acima.

Alguma ideia de por que esta compilação está falhando?

    
por Douglas B. Staple 07.05.2013 / 14:49

3 respostas

1

Você também pode tentar make bootstrap ou make bootstrap4 em vez de diretamente make install , para ver se isso faz alguma diferença.

    
por 14.05.2013 / 21:43
0

Tente executar make distclean e ./configure && make novamente.

Veja um problema semelhante aqui: link

    
por 12.05.2013 / 13:07
0

Um construtor Chuck Norris responsável pelo sistema construiu o GCC 4.8.0 usando as seguintes etapas:

module purge
cd /tmp/repoman
tar xzf ~/src/gnu/gcc-4.8.0.tar.gz
cd gcc-4.8.0/
tar xzf ~/src/gnu/mpfr-2.4.2.tar.gz
ln -s mpfr-2.4.2 mpfr
tar xzf ~/src/gnu/gmp-4.3.2.tar.gz
ln -s gmp-4.3.2 gmp
tar xzf ~/src/gnu/mpc-0.8.1.tar.gz
ln -s mpc-0.8.1 mpc
cd ../
mkdir objdir
cd objdir/
../gcc-4.8.0/configure --prefix=/usr/local/gcc-4.8.0 CC=gcc4 CXX=g++4
make && make install

Isso é bem parecido com o que eu estava fazendo. As diferenças foram que eu não fiz module purge , eu mv as fontes de pré-requisito em vez de ln -s 'nelas, eu não especifiquei CC=gcc4 CXX=g++4 , e obviamente meu --prefix apontou para um caminho no meu diretório inicial. Não tenho certeza de qual desses teria feito a diferença; provavelmente CC=... CXX=... ou module purge . Vou testar e postar o resultado.

    
por 22.05.2013 / 16:30