linuxfromscratch:12.1:056-binutils-2.42_-_pass_2

문서의 이전 판입니다!


Linux From Scratch - Version 12.1-systemd
Chapter 6. Cross Compiling Temporary Tools
이전 위로 / 처음으로 다음
Xz-5.4.6 GCC-13.2.0 - Pass 2

6.17. Binutils-2.42 - 2차 설치

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

대략적인 빌드 시간: 0.5 SBU
필요한 디스크 공간: 537 MB


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

새로운 구성 옵션의 의미입니다.

  • –enable-shared
    libbfd를 공유 라이브러리로 빌드합니다.
  • –enable-64-bit-bfd
    64비트 지원을 활성화합니다(word 크기가 더 작은 호스트에서). 64비트 시스템에서는 필요하지 않을 수도 있지만 해가 되지는 않습니다.

패키지를 컴파일합니다.

make

패키지를 설치합니다.

make DESTDIR=$LFS install

libtool 아카이브 파일은 교차 컴파일에 문제가 되므로 제거하고 불필요한 정적 라이브러리를 제거합니다.

rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la}


이 패키지에 대한 자세한 내용은 섹션 8.19.2, "Binutils의 내용"에 있습니다.

  • linuxfromscratch/12.1/056-binutils-2.42_-_pass_2.1716812713.txt.gz
  • 마지막으로 수정됨: 2024/05/27 12:25
  • 저자 127.0.0.1