Linux From Scratch에서 GCC의 첫 번째 패스를 빌드할 때 플래그를 전달하라고 나와 있습니다 --with-newlib
.
"작동하는 C 라이브러리를 아직 사용할 수 없기 때문에 libgcc를 빌드할 때 억제_libc 상수가 정의되도록 보장합니다. 이렇게 하면 libc 지원이 필요한 코드가 컴파일되지 않습니다."
왜 이런거야? LFS나 GCC가 왜 깨졌나요? 실제에 따르면gcc 지시어, --with-newlib
그런 일은 하지 않고 GCC에 사용 중이라고만 알립니다.새 도서관
"객체 C 라이브러리로 사용할 'newlib'를 지정합니다. 이로 인해 __eprintf가 'newlib'에서 제공된다는 가정하에 libgcc.a에서 생략됩니다."
어떻게 되어가나요? LFS가 근본적으로 손상되어 잘못 수행되고 있습니까(GCC가 명시적으로 지원하지 않는 빌드를 위해 gcc 소스 코드의 하위 디렉터리를 사용한다는 사실은 제외), 아니면 GCC가 근본적으로 손상되어 실패하고 있습니까? 어리석게도 따라하기를 좋아하는 문서가 있습니까?
LFS가 잘못 수행된 경우 호스트 시스템에서 격리된 기본 GCC/binutils 툴체인을 구축하는 올바른 방법은 무엇입니까?
GCC가 틀렸다면 나(그리고 다른 사람들)는 운이 좋지 않아 "지침을 따르라" 같은 말도 안되는 일을 했을 것입니다.