Linux From Scratch - Version 12.1-systemd | ||
---|---|---|
Chapter 6. Cross Compiling Temporary Tools | ||
이전 | 위로 / 처음으로 | 다음 |
Xz-5.4.6 | GCC-13.2.0 - 2차 |
6.17. Binutils-2.42 - 2차
Binutils 패키지에는 링커, 어셈블러 및 오브젝트 파일 처리를 위한 기타 도구가 포함되어 있습니다.
- 빌드 시간: 0.5 SBU
- 디스크 공간: 537 MB
6.17.1. 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
configure 옵션 설명
- –enable-shared
libbfd를 공유 라이브러리로 빌드합니다. - –enable-64-bit-bfd
word 크기가 작은 호스트에서 64비트 지원을 활성화합니다. 64비트 시스템에서는 필요하지 않지만 해가 되지는 않습니다.
패키지를 컴파일합니다.
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 패키지 구성"에 있습니다.