LFS 7.6 GCC 오류가 발생했습니다.

LFS 7.6 GCC 오류가 발생했습니다.

저는 Linux 시스템에 대한 경험이 많지 않지만 한동안 LFS 시스템에서 작업하기로 결정했습니다. 제 지식이 부족해서 어려운 일이라는 걸 알지만, 이 문제에 직면하기 전까지는 이해했다고 생각했습니다. 나는 LFS 책 7.6의 5장에 대한 GCC를 구축하려고 합니다. 이것은 나의 명령 순서입니다:

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 (\1 \&\& \!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

잠시 동안 make를 실행한 후 출력 끝에 다음이 표시됩니다.

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

내가 뭘 잘못하고 있는지 아는 사람 있나요? 나는 옳은 일을 하고 있다고 확신하지만, 다시 말하지만, 나는 이런 종류의 일에 경험이 없습니다. 시간 내 주셔서 감사합니다.

답변1

구성 스크립트가 테스트를 컴파일하려고 시도했지만 실패했습니다. config.log실제 컴파일 오류가 포함 됩니다 .

가장 가능성이 높은 원인은 libmpfr, libgmp 또는 libmpc 중 하나가 호스트 시스템에 설치되지 않았기 때문입니다. -dev호스트 시스템의 패키지 관리자를 사용하여 이러한 라이브러리에 대한 패키지를 설치 해야 합니다 . 여기에는 세 가지 라이브러리에 대한 헤더 파일이 포함되어 있습니다.

관련 정보