Linux From Scratch - Version 12.1-systemd | ||
---|---|---|
Chapter 6. Cross Compiling Temporary Tools | ||
이전 | 위로 / 처음으로 | 다음 |
Xz-5.4.6 | GCC-13.2.0 - 2차 |
Binutils 패키지에는 링커, 어셈블러 및 오브젝트 파일 처리를 위한 기타 도구가 포함되어 있습니다.
Binutils 빌드 시스템은 내부 정적 라이브러리에 대해 링크하기 위해 제공된 libtool 사본을 사용하지만 패키지로 제공된 libiberty 및 zlib 사본은 libtool을 사용하지 않습니다. 이러한 불일치로 인해 생성된 바이너리가 호스트 배포판의 라이브러리에 링크될 수 있습니다. 다음과 같이 해결하세요.
sed '6009s/$add_dir//' -i ltmain.sh
다시 별도의 빌드 디렉터리를 생성합니다.
mkdir -v build
cd build
Binutils 컴파일을 준비합니다.
../configure \
--prefix=/usr \
--build=$(../config.guess) \
--host=$LFS_TGT \
--disable-nls \
--enable-shared \
--enable-gprofng=no \
--disable-werror \
--enable-64-bit-bfd \
--enable-default-hash-style=gnu
패키지를 컴파일합니다.
make
패키지를 설치합니다.
make DESTDIR=$LFS install
크로스 컴파일에 문제를 일으키는 libtool archive 파일과 LFS에서는 사용하지 않는 정적 라이브러리를 제거합니다.
rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la}
이 패키지에 대한 자세한 내용은 8.19.2. "Binutils 패키지 구성"에 있습니다.