Fedora 30에서 --> GCC-9.2.0을 컴파일합니다. 비슷한 문제에 대한 해결책을 찾았지만 완전히 똑같지는 않았습니다. 어떤 사람들은 이것이 실수라고 말합니다. 컴파일을 준비할 때 첫 번째 오류가 발생합니다.
../configure --target=$LFS_TGT / --prefix=/tools / ...etc.
The errors here are:
/bin/ld: cannot find crt1.o: No such file or directory
/bin/ld: cannot find crti.o: No such file or directory
/bin/ld: skipping incompatible //lib/libgcc_s.so.1 when searching for /lib/libgcc_s.so.1
/bin/ld: cannot find /lib/libgcc_s.so.1 inside /
분명히 32비트에서 검색하고 있는 것 같습니다 /lib
. 64비트로 작업 중입니다. 하지만 이러한 오류를 무시하고 다음 명령 make를 실행하면 유사하고 다른 오류 메시지가 표시되고 거기에서 멈추고 컴파일을 완료할 수 없습니다. 오류는 다음과 같습니다
functions are only in"; echo " the static library. */"; echo "GROUP
( libgcc_s.so.1 -lgcc )" ) > ./libgcc_s.so
/usr/local/x86_64-pc-linux-gnu/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status
make[3]:*** [Makefile:992: libgcc_s.so] Error 1
make[3]: Leaving directory /mnt/lfs/build/gcc-9.2.0/build/x86_64-pc-linux-gnu/libgcc
make[2]:*** [Makefile:21399: all-stage1-target-libgcc] Error 2
make[2]: Leaving directory /mnt/lfs/build/gcc-9.2.0/build
make[1]: ***[Makefile:26727: stage1-bubble] Error 2
make[1]: Leaving directory /mnt/lfs/build/gcc-9.2.0/build
make: *** [Makefile:1000: all] Error 2
root:/mnt/lfs/build/gcc-9.2.0/build#
find 명령을 실행하여 /usr/ -name crt*
여기에서 누락된 파일을 찾았습니다.
/usr/lib64/crti.o
그러나 분명히 시스템은 그것을 찾지 못했습니다. 64비트 디렉터리에 있습니다. 32비트 lib를 설치해야 하나요? 아니면 첫 번째 오류 메시지에는 이것이 필요하지만 make를 실행할 때 두 번째 부분에는 필요하지 않습니까? 이 문제를 어떻게 해결하나요?