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 패키지에는 링커, 어셈블러 및 오브젝트 파일 처리를 위한 기타 도구가 포함되어 있습니다.


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 옵션 설명

패키지를 컴파일합니다.

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 패키지 구성"에 있습니다.