Você também pode tentar make bootstrap
ou make bootstrap4
em vez de diretamente make install
, para ver se isso faz alguma diferença.
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:
make distclean
de objdir e re-executando configure e make. -j 16
de make
. 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. 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?
Você também pode tentar make bootstrap
ou make bootstrap4
em vez de diretamente make install
, para ver se isso faz alguma diferença.
Tente executar make distclean
e ./configure && make
novamente.
Veja um problema semelhante aqui: link
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.