BuildRoot安裝問題

2021-10-12 20:10:04 字數 2327 閱讀 8497

buildroot安裝問題

在vmware中centos-6.0中安裝buildroot環境。

一.空間準備

為buildroot準備了40g的空間,最後剩下6g,核心編譯出來後剩下6g,準備的還是偏少一點。

在vmware中掛載新的分割槽,配置如下:

fdisk -l

mkfs -t ext4 /dev/sdb1         //格式化成ext4檔案

mount /dev/sdb1 /buildroot  //掛載

二.編譯器準備

mkdir software

cd software

wget gcc-8.3.0/gcc-8.3.0.tar.gz

tar zxvf gcc-8.3.0.tar.gz

cd gcc-8.3.0

./contrib/download_prerequisites

2.3 編譯  //注意在build下編譯

mkdir build

cd build

../configure --prefix=/usr/local/gcc-8.3.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib

make 

make install

configure各項引數詳解:

--prefix=/usr/local/gcc-8.3.0/:把所有資源檔案都放在該路徑下。

--enable-checking=release:生成的編譯器在編譯過程中不做額外檢查。

--enable-languages=c,c++:讓gcc支援c,c++。

--disable-multilib:不生成編譯為其他平台可執行**的交叉編譯器。

三.碰到的問題

3.1 問題1

your perl installation is not complete enough

解決:yum install -y perl-extutils-makemaker

3.2 問題2

you should not run configure as root (set force_unsafe_configure=1 in environment to bypass this check)

解決:export force_unsafe_configure=1

網上反饋這樣無法解決問題,但是我編過去了

3.3 問題3

在編譯該包host-fakeroot-1.20.2有編譯錯誤

解決:at_empty_path編譯檔案libfakeroot.c, at_empty_path沒有定義,去除

3.4 問題4

c compiler cannot create executables

解決:libexec  --------gcc編譯目錄後有個libexec,將它複製到/usr/local/libexec目錄下,即可,原來沒有複製

或者export libs=

export dyld_library_path=

export ld_library_path=

3.5 問題5

sanitizing rpath in target tree

per_package_dir=/buildroot/buildroot-2020.08/output/per-package /buildroot/buildroot-2020.08/support/scripts/fix-rpath target

error: can't execute patchelf utility '/buildroot/buildroot-2020.08/output/host/bin/patchelf'

解決:這個是在程式編譯完後,打包過程**現的錯誤,經分析,指令碼中呼叫了程式patchelf,  將該程式在命令列下執行,有如下的錯誤,更新libstdc++.so.6的庫

./patchelf: /usr/lib/libstdc++.so.6: version `glibcxx_3.4.20' not found (required by ./patchelf)

./patchelf: /usr/lib/libstdc++.so.6: version `glibcxx_3.4.21' not found (required by ./patchelf)

四.總結

總體來說,整個編譯過程還是很順利的,碰到的問題都解決掉了。

buildroot使用詳解

0 為什麼要使用buildroot?讓我們的工作效率成百倍的提公升。1 獲取buildroot 2 配置buildroot 將原始碼包複製到 目錄下,並解壓tar xvf buildroot 2015.02.tar.gz 進入目錄,執行配置命令 cd buildroot 2015.02 執行 mak...

buildroot 製作交叉工具鏈指定安裝位置

使用buildroot製作交叉工具鏈時,預設在當前目錄生成output目錄,之後全部安裝到此目錄下。由於編譯交叉工具鏈時會引用此路徑。為了便於使用所以指定安裝路徑就顯點很有必要了。另外buildroot 本身就支援指定安裝位置,所以何樂不為呢。指定安裝位置非常簡單。只需在編譯的時候通過base di...

更新 buildroot 中的 package

buildroot 發布的時候,其中帶的 package 不一定是最新版本,我們可以自己更新一下 下面以 buildroot 2012.02 中的 sqlite 和 live555 為例,介紹如何使用最新的 package 1,檢視 buildroot 2012.01 package sqlite ...