LFS 7.6 GCC cometer erro

0

Eu não tenho muita experiência com sistemas Linux, mas decidi trabalhar em um sistema LFS por um tempo. Eu entendo que este foi um grande empreendimento para o meu conhecimento limitado, mas eu pensei que estava entendendo, até que eu peguei esse problema. Eu estava tentando construir o GCC para o capítulo 5 do LFS book 7.6. É assim que minha sequência de comando se parece:

cd /mnt/lfs/sources
tar -xvf gcc-4.9.1.tar.bz2
cd gcc-4.9.1
tar -xf ../mpfr-3.1.2.tar.xz
mv -v mpfr-3.1.2 mpfr
tar -xf ../gmp-6.0.0a.tar.xz
mv -v gmp-6.0.0 gmp
tar -xf ../mpc-1.0.2.tar.gz
mv -v mpc-1.0.2 mpc

for file in \
$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
do
cp -uv $file{,.orig}
sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
-e 's@/usr@/tools@g' $file.orig > $file
echo '
#undef STANDARD_STARTFILE_PREFIX_1
#undef STANDARD_STARTFILE_PREFIX_2
#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
touch $file.orig
done

sed -i '/k prot/agcc_cv_libc_provides_ssp=yes' gcc/configure
sed -i 's/if \((code.*))\)/if ( \&\& \!DEBUG_INSN_P (insn))/' gcc/sched-deps.c
mkdir -v ../gcc-build
cd ../gcc-build

../gcc-4.9.1/configure --target=$LFS_TGT --prefix=/tool --with-sysroot=$LFS --with-newlib --without-headers --with-local-prefix=/tools --with-native-system-header-dir=/tools/include --disable-nls --disable-shared --disable-multilib --disable-decimal-float --disable-threads --disable-libatomic --disable-libgomp --disable-libitm --disable-libquadmath --disable-libsanitizer --disable-libssp --disable-libvtv --disable-libcilkrts --disable-libstdc++-v3 --enable-languages=c,c++ -v
make

Após a execução do make por um tempo, recebo isso no final da saída:

checking for i686-lfs-linux-gnu-ranlib... i686-lfs-linux-gnu-ranlib
checking for i686-lfs-linux-gnu-strip... i686-lfs-linux-gnu-strip
checking whether ln -s works... yes
checking for i686-lfs-linux-gnu-gcc... /mnt/lfs/sources/gcc-build/./gcc/xgcc -B/mnt/lfs/sources/gcc-build/./gcc/ -B/tool/i686-lfs-linux-gnu/bin/ -B/tool/i686-lfs-linux-gnu/lib/ -isystem /tool/i686-lfs-linux-gnu/include -isystem /tool/i686-lfs-linux-gnu/sys-include   
checking for suffix of object files... configure: error: in '/mnt/lfs/sources/gcc-build/i686-lfs-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See 'config.log' for more details.
Makefile:11636: recipe for target 'configure-target-libgcc' failed
make[1]: *** [configure-target-libgcc] Error 1
make[1]: Leaving directory '/mnt/lfs/sources/gcc-build'
Makefile:850: recipe for target 'all' failed
make: *** [all] Error 2

Alguém sabe o que eu fiz de errado? Eu tenho certeza que fiz certo, mas novamente, eu não sou tão experiente com esse tipo de coisa. Obrigado pelo seu tempo.

    
por Codex 21.07.2015 / 15:32

1 resposta

1

O script de configuração está tentando compilar um teste e falhando. O config.log conterá o erro de compilação real.

A causa mais provável é que você não tenha um dos libmpfr, libgmp ou libmpc instalados em seu sistema host. Certifique-se de instalar os pacotes -dev para essas bibliotecas usando o gerenciador de pacotes do seu sistema host. Eles contêm os arquivos de cabeçalho dessas três bibliotecas.

    
por 21.07.2015 / 17:16

Tags