當前位置:首頁 > IT技術 > 系統(tǒng)服務 > 正文

Linux From Scratch(LFS11.0)構建 LFS 系統(tǒng) - Binutils-2.37
2021-10-08 17:33:30

Binutils 包含匯編器、鏈接器以及其他用于處理目標文件的工具。

安裝 Binutils

解壓軟件包:

cd /sources
tar xf binutils-2.37.tar.xz
cd binutils-2.37


進行簡單測試,確認偽終端 (PTY) 在 chroot 環(huán)境中能正常工作:

expect -c "spawn ls"

Linux From Scratch(LFS11.0)構建 LFS 系統(tǒng) - Binutils-2.37_linux

如果輸出不是上面這樣,就說明環(huán)境沒有為 PTY 的正常工作設置好。在運行 Binutils 和 GCC 的測試套件前必須解決這個問題。

上游開發(fā)者提供了一個補丁,它能修復在構建一些軟件包時出現(xiàn)的問題。應用該補?。?/p>

patch -Np1 -i ../binutils-2.37-upstream_fix-1.patch

構建系統(tǒng)中的一處錯誤導致軟件包附帶的 man 頁面為空。繞過這個問題并刪除附帶的 man 頁面,這樣 man 頁面就會被正確地重新生成:

sed -i '63d' etc/texi2pod.pl
find -name *.1 -delete

Binutils 文檔推薦在一個專用的構建目錄中構建 Binutils:

mkdir -v build
cd build

準備編譯 Binutils:

../configure --prefix=/usr       
--enable-gold
--enable-ld=default
--enable-plugins
--enable-shared
--disable-werror
--enable-64-bit-bfd
--with-system-zlib

編譯該軟件包:

make tooldir=/usr

測試編譯結果:

make -k check

已知四項和 zlib 相關的測試可能失敗。

安裝該軟件包:

make tooldir=/usr install -j1

刪除無用的靜態(tài)庫:

rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a

安裝完成后清理工作:

cd ../..
rm -rf binutils-2.37



本次分享到此結束啦~

如果覺得文章對你有幫助,點贊、收藏、關注、評論,一鍵四連支持,你的支持就是我創(chuàng)作最大的動力。

?? 技術交流可以 關注公眾號:Lucifer三思而后行 ??

本文摘自 :https://blog.51cto.com/l

開通會員,享受整站包年服務立即開通 >