最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

buildroot制作编译环境全过程解决

Buildroot crifan 3946浏览 0评论

在下载了最新的buildroot之后,解压后,开始了全新的编译过程:
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ make xconfig
make: *** 没有规则可以创建目标“xconfig”。 停止。

只是想试试图形界面的配置而已,既然不能用,就懒得去折腾了,本来也就是习惯用menuconfig了。

crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ make menuconfig
make CC="/usr/bin/gcc" -C package/config conf mconf
make[1]: 正在进入目录 `/home/crifan/develop/buildroot/buildroot-2009.05/package/config'
/usr/bin/gcc -DCURSES_LOC="<curses.h>" -DLOCALE  -g -O2 -MM *.c > .depend 2>/dev/null || :
make[1]:正在离开目录 `/home/crifan/develop/buildroot/buildroot-2009.05/package/config'
make[1]: 正在进入目录 `/home/crifan/develop/buildroot/buildroot-2009.05/package/config'
/usr/bin/gcc -DCURSES_LOC="<curses.h>" -DLOCALE  -g -O2  -c conf.c -o conf.o
conf.c: 在函数‘conf_askvalue’中:
conf.c:112: 警告: 忽略声明有 warn_unused_result 属性的‘fgets’的返回值
conf.c: 在函数‘conf_choice’中:
conf.c:363: 警告: 忽略声明有 warn_unused_result 属性的‘fgets’的返回值
/usr/bin/gcc -DCURSES_LOC="<curses.h>" -DLOCALE  -g -O2  -c kxgettext.c -o kxgettext.o
/usr/bin/gcc -DCURSES_LOC="<curses.h>" -DLOCALE  -g -O2  -c lxdialog/checklist.c -o lxdialog/checklist.o
在包含自 lxdialog/checklist.c:24 的文件中:
lxdialog/dialog.h:32:20: 错误: curses.h:没有该文件或目录
In file included from lxdialog/checklist.c:24:
lxdialog/dialog.h:97: 错误: expected specifier-qualifier-list before ‘chtype’
lxdialog/dialog.h:187: 错误: expected ‘)’ before ‘*’ token
lxdialog/dialog.h:194: 错误: expected ‘)’ before ‘*’ token
lxdialog/dialog.h:196: 错误: expected ‘)’ before ‘*’ token
lxdialog/dialog.h:197: 错误: expected ‘)’ before ‘*’ token
lxdialog/dialog.h:198: 错误: expected ‘)’ before ‘*’ token
lxdialog/dialog.h:199: 错误: expected ‘)’ before ‘*’ token
lxdialog/dialog.h:201: 错误: expected ‘)’ before ‘*’ token
lxdialog/checklist.c:31: 错误: expected ‘)’ before ‘*’ token
lxdialog/checklist.c:59: 错误: expected ‘)’ before ‘*’ token
lxdialog/checklist.c:95: 错误: expected ‘)’ before ‘*’ token
lxdialog/checklist.c: 在函数‘dialog_checklist’中:
lxdialog/checklist.c:116: 错误: ‘WINDOW’未声明(在此函数内第一次使用)
lxdialog/checklist.c:116: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
lxdialog/checklist.c:116: 错误: 所在的函数内也只报告一次。)
lxdialog/checklist.c:116: 错误: ‘dialog’未声明(在此函数内第一次使用)
lxdialog/checklist.c:116: 错误: ‘list’未声明(在此函数内第一次使用)
lxdialog/checklist.c:129: 错误: ‘stdscr’未声明(在此函数内第一次使用)
lxdialog/checklist.c:130: 错误: ‘KEY_MAX’未声明(在此函数内第一次使用)
lxdialog/checklist.c:137: 错误: ‘COLS’未声明(在此函数内第一次使用)
lxdialog/checklist.c:138: 错误: ‘LINES’未声明(在此函数内第一次使用)
lxdialog/checklist.c:143: 错误: ‘TRUE’未声明(在此函数内第一次使用)
lxdialog/checklist.c:146: 错误: ‘struct dialog_color’没有名为‘atr’的成员
lxdialog/checklist.c:146: 错误: ‘struct dialog_color’没有名为‘atr’的成员
lxdialog/checklist.c:147: 错误: ‘struct dialog_color’没有名为‘atr’的成员
lxdialog/checklist.c:151: 错误: ‘struct dialog_color’没有名为‘atr’的成员
lxdialog/checklist.c:156: 错误: ‘struct dialog_color’没有名为‘atr’的成员
lxdialog/checklist.c:171: 错误: ‘struct dialog_color’没有名为‘atr’的成员
lxdialog/checklist.c:171: 错误: ‘struct dialog_color’没有名为‘atr’的成员
lxdialog/checklist.c:210: 错误: ‘KEY_UP’未声明(在此函数内第一次使用)
lxdialog/checklist.c:210: 错误: ‘KEY_DOWN’未声明(在此函数内第一次使用)
lxdialog/checklist.c:220: 错误: ‘FALSE’未声明(在此函数内第一次使用)
lxdialog/checklist.c:297: 错误: ‘KEY_LEFT’未声明(在此函数内第一次使用)
lxdialog/checklist.c:298: 错误: ‘KEY_RIGHT’未声明(在此函数内第一次使用)
lxdialog/checklist.c:312: 错误: ‘KEY_RESIZE’未声明(在此函数内第一次使用)
make[1]: *** [lxdialog/checklist.o] 错误 1
make[1]:正在离开目录 `/home/crifan/develop/buildroot/buildroot-2009.05/package/config'
make: *** [package/config/mconf] 错误 2

第一次menuconfig就出错,不容易的说。。。
去找找原因。
看起来,貌似是ncurses方面的问题,之前某此在ubuntu下编译的时候,也是遇到这个问题,
所以,就去找找这个开发要用到的库:
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-cache search ncurses | grep ncurses
lib64ncurses5-dev – developer's libraries for ncurses (64-bit)
libncurses5-dbg – debugging/profiling libraries for ncurses
libncurses5-dev – developer's libraries and docs for ncurses
libncursesw5-dbg – debugging/profiling libraries for ncurses
libncursesw5-dev – developer's libraries for ncursesw
ncurses-term – additional terminal type definitions
lib64ncurses5 – shared libraries for terminal handling (64-bit)
libncurses5 – 终端控制的共享库
libncursesw5 – shared libraries for terminal handling (wide character support)
mtr-tiny – ncurses下的全屏幕路由跟踪工具
ncurses-base – 基本终端类型解析
ncurses-bin – 终端相关程序和man手册页
audtty – ncurses based frontend to audacious
aylet – ncurses-based player for Spectrum '.ay' music files
bochs-term – Terminal (ncurses-based) plugin for Bochs
btscanner – ncurses-based scanner for Bluetooth devices
canto – flexible ncurses Atom/RSS newsreader for the console
clex – command line file manager which uses the ncurses library
dares – rescue files from damaged CDs and DVDs (ncurses-interface)
gom – Command line and interactive ncurses-based OSS audio mixer
gtypist – A simple ncurses touch typing tutor
hexcurse – A ncurses-based hex editor with many features
libcunit1-ncurses – Unit Testing Library for C (ncurses)
libcunit1-ncurses-dev – Unit Testing Library for C (ncurses) — development files
libcurses-ocaml – OCaml bindings for the ncurses library
libcurses-ocaml-dev – OCaml bindings for the ncurses library
libkaya-ncurses-dev – Ncurses binding for kaya
libkaya-ncursesw-dev – Ncurses binding for kaya
libncurses-gst – Ncurses bindings for GNU Smalltalk
libncurses-ruby1.8 – ruby Extension for the ncurses C library
libncurses-ruby1.9 – ruby Extension for the ncurses C library
moc – ncurses based console audio player
moc-ffmpeg-plugin – ncurses based console audio player – ffmpeg plugin
mtr – Full screen ncurses and X11 traceroute tool
ncdu – ncurses disk usage viewer
ncurses-hexedit – Edit files/disks in hex, ASCII and EBCDIC
ninvaders – A space invaders-like game using ncurses
nrss – A ncurses-based RSS reader
psk31lx – Soundcard-based ncurses program for operating PSK31
radio – ncurses-based radio application
rexima – a simple ncurses/command-line mixer
rtorrent – ncurses BitTorrent client based on LibTorrent
tcd – Portable CD player with an ncurses interface
tig – ncurses-based Git repository browser
trafshow – ncurses based utility showing detailed network traffic
vifm – a ncurses based file manager with vi like keybindings
vuurmuur-conf – netfilter frontend (ncurses GUI)
vuurmuur-conf-dbg – netfilter frontend (ncurses GUI debug)
yacpi – ncurses based acpi monitor for text mode
abook – 基于文本的 ncurses 地址簿应用程序
avida-viewer – ncurses viewer for avida
dav-text – A minimalist ncurses-based text editor
irmp3-ncurses – irmp3 control frontend
libncurses-ruby – ruby Extension for the ncurses C library
cmus – lightweight ncurses audio player

说明:apt-cache search + 名字,是去缓存中找和这个名字相关的所有的软件/库。
一般用作,在你不知道具体你需要的库的全名的时候,去找目前有那些相关的库,然后从上面的输出结果中,找到你认为合适的,此处,看了一下,觉得既然是程序开发嘛,看着libncurses5-dev比较像,就选它吧:
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-get install libncurses5-dev
正在读取软件包列表… 完成
正在分析软件包的依赖关系树      
正在读取状态信息… 完成      
下列【新】软件包将被安装:
libncurses5-dev
共升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 9 个软件未被升级。
需要下载 1550kB 的软件包。
解压缩后会消耗掉 6599kB 的额外空间。
获取:1 http://ubuntu.cn99.com jaunty/main libncurses5-dev 5.7+20090207-1ubuntu1 [1550kB]
下载 1550kB,耗时 11s (131kB/s)                                                                    
选中了曾被取消选择的软件包 libncurses5-dev。
(正在读取数据库 … 系统当前总共安装有 123415 个文件和目录。)
正在解压缩 libncurses5-dev (从 …/libncurses5-dev_5.7+20090207-1ubuntu1_i386.deb) …
正在处理用于 man-db 的触发器…
正在设置 libncurses5-dev (5.7+20090207-1ubuntu1) …

此处是运气比较好,一次就找到了我们需要的(如果万一再去make menuconfig还是不行,那么就继续装那些看起来你认为比较有可能的相关的库):

crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ make menuconfig
make CC="/usr/bin/gcc" -C package/config conf mconf
make[1]: 正在进入目录 `/home/crifan/develop/buildroot/buildroot-2009.05/package/config'
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -g -O2  -c lxdialog/checklist.c -o lxdialog/checklist.o
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -g -O2  -c lxdialog/inputbox.c -o lxdialog/inputbox.o
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -g -O2  -c lxdialog/menubox.c -o lxdialog/menubox.o
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -g -O2  -c lxdialog/textbox.c -o lxdialog/textbox.o
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -g -O2  -c lxdialog/util.c -o lxdialog/util.o
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -g -O2  -c lxdialog/yesno.c -o lxdialog/yesno.o
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -g -O2  -c mconf.c -o mconf.o
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -g -O2 -I. -c zconf.tab.c -o zconf.tab.o
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -g -O2  conf.o  zconf.tab.o -lncurses -o conf
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -g -O2  mconf.o zconf.tab.o lxdialog/checklist.o lxdialog/util.o lxdialog/inputbox.o lxdialog/textbox.o lxdialog/yesno.o lxdialog/menubox.o -lncurses -o mconf

然后就进入buildroot相关的配置了。
在胡乱配置了一通后,就打算去编译了,结果出错了:
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ make
if [ ! -e "/home/crifan/develop/buildroot/buildroot-2009.05/toolchain_build_i386/bin/sed" ]; then
mkdir -p "/home/crifan/develop/buildroot/buildroot-2009.05/toolchain_build_i386/bin";
rm -f "/home/crifan/develop/buildroot/buildroot-2009.05/toolchain_build_i386/bin/sed";
ln -sf "/bin/sed"
"/home/crifan/develop/buildroot/buildroot-2009.05/toolchain_build_i386/bin/sed";
fi

Checking build system dependencies:
BUILDROOT_DL_DIR clean:                Ok
CC clean:                    Ok
CXX clean:                    Ok
CPP clean:                    Ok
CFLAGS clean:                    Ok
INCLUDES clean:                    Ok
CXXFLAGS clean:                    Ok
which installed:                Ok
sed works:                    Ok (/bin/sed)
GNU make version '3.81':            Ok
C compiler '/usr/bin/gcc'
C compiler version '4.3.3':            Ok
C++ Compiler installed:            FALSE

You may have to install 'g++' on your build machine

awk installed:                    Ok
bash installed:                    Ok
bison installed:            FALSE

You must install 'bison' on your build machine

make: *** [dependencies] 错误 1

还是以前遇到的问题,最基本的一些编译要用到的工具没有安装,那么就先去安装:
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-get install bison
正在读取软件包列表… 完成
正在分析软件包的依赖关系树      
正在读取状态信息… 完成      
将会安装下列额外的软件包:
m4
建议安装的软件包:
bison-doc
下列【新】软件包将被安装:
bison m4
共升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 9 个软件未被升级。
需要下载 565kB 的软件包。
解压缩后会消耗掉 1946kB 的额外空间。
您希望继续执行吗?[Y/n]y
获取:1 http://ubuntu.cn99.com jaunty/main m4 1.4.11-1 [218kB]
获取:2 http://ubuntu.cn99.com jaunty/main bison 1:2.3.dfsg-5 [347kB]
下载 565kB,耗时 2s (189kB/s)
选中了曾被取消选择的软件包 m4。
(正在读取数据库 … 系统当前总共安装有 124454 个文件和目录。)
正在解压缩 m4 (从 …/archives/m4_1.4.11-1_i386.deb) …
选中了曾被取消选择的软件包 bison。
正在解压缩 bison (从 …/bison_1%3a2.3.dfsg-5_i386.deb) …
正在处理用于 man-db 的触发器…
正在设置 m4 (1.4.11-1) …

正在设置 bison (1:2.3.dfsg-5) …

同样,还需要其他的工具:
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ make

Checking build system dependencies:
BUILDROOT_DL_DIR clean:                Ok
CC clean:                    Ok
CXX clean:                    Ok
CPP clean:                    Ok
CFLAGS clean:                    Ok
INCLUDES clean:                    Ok
CXXFLAGS clean:                    Ok
which installed:                Ok
sed works:                    Ok (/bin/sed)
GNU make version '3.81':            Ok
C compiler '/usr/bin/gcc'
C compiler version '4.3.3':            Ok
C++ Compiler installed:            FALSE

You may have to install 'g++' on your build machine

awk installed:                    Ok
bash installed:                    Ok
bison installed:                Ok
flex installed:            FALSE

You must install 'flex' on your build machine

继续安装:
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-get install flex
[sudo] password for crifan:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树      
正在读取状态信息… 完成      
下列【新】软件包将被安装:
flex
共升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 9 个软件未被升级。
需要下载 244kB 的软件包。
解压缩后会消耗掉 999kB 的额外空间。
获取:1 http://ubuntu.cn99.com jaunty/main flex 2.5.35-6ubuntu1 [244kB]
下载 244kB,耗时 1s (218kB/s)
选中了曾被取消选择的软件包 flex。
(正在读取数据库 … 系统当前总共安装有 124538 个文件和目录。)
正在解压缩 flex (从 …/flex_2.5.35-6ubuntu1_i386.deb) …
正在处理用于 man-db 的触发器…
正在设置 flex (2.5.35-6ubuntu1) …

还有gettext:
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-get install gettext
正在读取软件包列表… 完成
正在分析软件包的依赖关系树      
正在读取状态信息… 完成      
建议安装的软件包:
cvs gettext-doc
下列【新】软件包将被安装:
gettext
共升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 9 个软件未被升级。
需要下载 1910kB 的软件包。
解压缩后会消耗掉 7676kB 的额外空间。
获取:1 http://ubuntu.cn99.com jaunty/main gettext 0.17-6ubuntu2 [1910kB]
下载 1910kB,耗时 7s (242kB/s)                                                
选中了曾被取消选择的软件包 gettext。
(正在读取数据库 … 系统当前总共安装有 124561 个文件和目录。)
正在解压缩 gettext (从 …/gettext_0.17-6ubuntu2_i386.deb) …
正在处理用于 man-db 的触发器…
正在设置 gettext (0.17-6ubuntu2) …

正在处理用于 libc6 的触发器…
ldconfig deferred processing now taking place

然后,就可以一直下载各个安装包的源码并且一步步解压,打patch,安装了。。。

make之后,就慢慢编译了.
又遇到了一个错误:
checking how to run the C++ preprocessor… /lib/cpp
configure: error: C++ preprocessor "/lib/cpp" fails sanity check

百度了一下,结果发现自己之前就遇到过此问题:
[fixed]configure: error: C++ preprocessor "/lib/cpp" fails sanity check
http://hi.baidu.com/serial_story/blog/item/e9d6668213bb85aa0cf4d293.html
是因为没有装编译开发所需的基本工具,所以去:

crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-get install build-essential
[sudo] password for crifan:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树      
正在读取状态信息… 完成      
下列软件包是自动安装的并且现在不再被使用了:
libqt4-opengl libqt4-assistant libboost-program-options1.35.0 libqt4-test phonon
python-qt4-common libakonadiprivate1 libqt4-xmlpatterns libqt4-help libqt4-webkit
python-compizconfig python-sip4 libplasma3 kdepimlibs5 libemeraldengine0
kdepimlibs-data
使用'apt-get autoremove'来删除它们
将会安装下列额外的软件包:
dpkg-dev g++ g++-4.3 libstdc++6-4.3-dev
建议安装的软件包:
debian-keyring g++-multilib g++-4.3-multilib gcc-4.3-doc libstdc++6-4.3-dbg
libstdc++6-4.3-doc
下列【新】软件包将被安装:
build-essential dpkg-dev g++ g++-4.3 libstdc++6-4.3-dev
共升级了 0 个软件包,新安装了 5 个软件包,要卸载 0 个软件包,有 28 个软件未被升级。
需要下载 6170kB 的软件包。
解压缩后会消耗掉 21.2MB 的额外空间。
您希望继续执行吗?[Y/n]y
获取:1 http://ubuntu.cn99.com jaunty/main libstdc++6-4.3-dev 4.3.3-5ubuntu4 [1356kB]
获取:2 http://ubuntu.cn99.com jaunty/main g++-4.3 4.3.3-5ubuntu4 [4162kB]
获取:3 http://ubuntu.cn99.com jaunty/main g++ 4:4.3.3-1ubuntu1 [1438B]                  
获取:4 http://ubuntu.cn99.com jaunty/main dpkg-dev 1.14.24ubuntu1 [643kB]                
获取:5 http://ubuntu.cn99.com jaunty/main build-essential 11.4 [7172B]                  
下载 6170kB,耗时 25s (243kB/s)                                                          
选中了曾被取消选择的软件包 libstdc++6-4.3-dev。
(正在读取数据库 … 系统当前总共安装有 133988 个文件和目录。)
正在解压缩 libstdc++6-4.3-dev (从 …/libstdc++6-4.3-dev_4.3.3-5ubuntu4_i386.deb) …
选中了曾被取消选择的软件包 g++-4.3。
正在解压缩 g++-4.3 (从 …/g++-4.3_4.3.3-5ubuntu4_i386.deb) …
选中了曾被取消选择的软件包 g++。
正在解压缩 g++ (从 …/g++_4%3a4.3.3-1ubuntu1_i386.deb) …
选中了曾被取消选择的软件包 dpkg-dev。
正在解压缩 dpkg-dev (从 …/dpkg-dev_1.14.24ubuntu1_all.deb) …
选中了曾被取消选择的软件包 build-essential。
正在解压缩 build-essential (从 …/build-essential_11.4_i386.deb) …
正在处理用于 man-db 的触发器…
正在设置 dpkg-dev (1.14.24ubuntu1) …
正在设置 libstdc++6-4.3-dev (4.3.3-5ubuntu4) …
正在设置 g++-4.3 (4.3.3-5ubuntu4) …
正在设置 g++ (4:4.3.3-1ubuntu1) …

正在设置 build-essential (11.4) …
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$

然后继续make.

在上一次正在下载binutils-2.19.1.tar.bz的时候,直接关机了,估计是没有下载完成该软件,所以导致后来重启后的再make,出现错误:
。。。
bzcat: Compressed file ends unexpectedly;
perhaps it is corrupted?  *Possible* reason follows.
bzcat: Success
Input file = /home/crifan/develop/buildroot/buildroot-2009.05/dl/binutils-2.19.1.tar.bz2, output file = (stdout)

It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.

You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

tar: 归档文件中异常的 EOF
tar: 归档文件中异常的 EOF
tar: 错误不可恢复:现在退出
make: *** [/home/crifan/develop/buildroot/buildroot-2009.05/toolchain_build_arm/binutils-2.19.1/.unpacked] 错误 2

   然后,打算按照提示去修复:
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ bzip2cover /home/crifan/develop/buildroot/buildroot-2009.05/dl/binutils-2.19.1.tar.bz2
bash: bzip2cover:找不到命令

发现没有安装,所以先去安装:
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-get install bzip2recover
[sudo] password for crifan:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树      
正在读取状态信息… 完成      
E: 无法找到软件包 bzip2recover

结果还是由于源里面没有这个软件,所以无法安装。
又去试了试:
sudo apt-get update
然后再
sudo apt-cache search bzip2recover
也还是找不到任何相关的软件。
所以,无奈之下,只能去删除这个tar包,

让其重新下载了:
rm /home/crifan/develop/buildroot/buildroot-2009.05/dl/binutils-2.19.1.tar.bz2
然后再make。就可以重新下载并继续了。。。

最后编译到Kernel的时候,遇到错误:
rm -rf /home/crifan/develop/buildroot/buildroot-2009.05/project_build_arm/tq2440/buildroot-config
mkdir -p /home/crifan/develop/buildroot/buildroot-2009.05/project_build_arm/tq2440
cp -dpRf package/config/buildroot-config /home/crifan/develop/buildroot/buildroot-2009.05/project_build_arm/tq2440/buildroot-config
cp -dpf  /home/crifan/develop/buildroot/buildroot-2009.05/project_build_arm/tq2440/linux-2.6.29.4/.config
cp: 在 “/home/crifan/develop/buildroot/buildroot-2009.05/project_build_arm/tq2440/linux-2.6.29.4/.config” 后缺少了要操作的目标文件
请尝试执行“cp –help”来获取更多信息。
make: *** [/home/crifan/develop/buildroot/buildroot-2009.05/project_build_arm/tq2440/linux-2.6.29.4/.configured] 错误 1

最后弄了半天,好像明白了,是buildroot里面的configure没有指定.config 和 生产的文件格式:zImage或bzImage,所以去
make menuconfig ->  
Kernel  —>
Kernel type (linux (Same version as linux headers))  —>
把  (.config) .config file 设置成.config,
把   (bzImage) kernel binary format设置成bzImage,至少就可以接着编译了。

但是此处我暂时只是为了编译buildroot,而之后再折腾kernel,因为还要添加patch了。
所以暂时把
Kernel type (linux (Same version as linux headers))  —>
改为:
Kernel type (none)  —>
暂时不去编译内核。

然后继续make。。。
之后又遇到问题了:
configure: error: Configure could not find required X11 libraries
exit: 1: Illegal number: aborting.
exit: 1: Illegal number: aborting.
make: *** [/home/crifan/develop/buildroot/buildroot-2009.05/build_arm/fltk-1.1.7/.stamp_configured] 错误 2

好像是fltk没有找到所需要的库,此处暂时先不去编译他,去configure中把他去掉。
结果愣是没找到我在哪里设置他的,所以,暂时放弃取消的办法。
尝试在Ubunbu里面安装fltk,看看是否解决问题:

crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-cache search fltk
[sudo] password for crifan:
fltk1.1-doc – Fast Light Toolkit – documentation
libfltk1.1 – Fast Light Toolkit – shared libraries
libfltk1.1-dbg – Fast Light Toolkit – shared libraries with debugging symbols
libfltk1.1-dev – Fast Light Toolkit – development files
fldiff – A graphical diff program
flphoto – Image manager with great printing functionality
fltk1.1-games – Fast Light Toolkit – example games: checkers, sudoku
fluid – Fast Light Toolkit – user interface designer
freepops-updater-fltk – Graphical interface for the freepops updater engine
goplay – games (and more) package browser using DebTags
alsamixergui – graphical soundcard mixer for ALSA soundcard driver
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-get install libfltk1.1-dev
正在读取软件包列表… 完成
正在分析软件包的依赖关系树      
正在读取状态信息… 完成      
下列软件包是自动安装的并且现在不再被使用了:
linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic python-compizconfig libemeraldengine0
使用'apt-get autoremove'来删除它们
将会安装下列额外的软件包:
libfltk1.1 libgl1-mesa-dev libpthread-stubs0 libpthread-stubs0-dev libx11-dev libxau-dev libxcb1-dev libxdmcp-dev
mesa-common-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev xtrans-dev
建议安装的软件包:
fltk1.1-doc fluid libglu1-mesa-dev libglu-dev libjpeg62-dev libpng12-0-dev libxext-dev libxft-dev libxinerama-dev
zlib1g-dev libz-dev
下列【新】软件包将被安装:
libfltk1.1 libfltk1.1-dev libgl1-mesa-dev libpthread-stubs0 libpthread-stubs0-dev libx11-dev libxau-dev
libxcb1-dev libxdmcp-dev mesa-common-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev xtrans-dev
共升级了 0 个软件包,新安装了 14 个软件包,要卸载 0 个软件包,有 35 个软件未被升级。
需要下载 3331kB 的软件包。
解压缩后会消耗掉 10.4MB 的额外空间。
您希望继续执行吗?[Y/n]y
获取:1 http://ubuntu.cn99.com jaunty/main x11proto-core-dev 7.0.14-2 [92.4kB]
获取:2 http://ubuntu.cn99.com jaunty/main libxau-dev 1:1.0.4-1 [16.3kB]
获取:……….[460kB]                                              
获取:14 http://ubuntu.cn99.com jaunty/main libfltk1.1-dev 1.1.9-6 [625kB]                                          
下载 3331kB,耗时 13s (242kB/s)                                                                                    
正在预设定软件包 …
选中了曾被取消选择的软件包 x11proto-core-dev。
(正在读取数据库 … 系统当前总共安装有 159122 个文件和目录。)
正在解压缩 x11proto-core-dev (从 …/x11proto-core-dev_7.0.14-2_all.deb) …
选中了曾被。。。。。

正在设置 libfltk1.1-dev (1.1.9-6) …

正在处理用于 libc6 的触发器…
ldconfig deferred processing now taking place
/sbin/ldconfig.real: file /usr/lib/libQtWebKit.so.4.5 is truncated

/sbin/ldconfig.real: file /usr/lib/libQtWebKit.so.4 is truncated

/sbin/ldconfig.real: file /usr/lib/libQtWebKit.so.4.5.0 is truncated

结果问题依旧。。。
按照网上这位说的:
  fltk on ubuntu
http://ubuntuforums.org/showthread.php?t=145610
去安装xorg-dev:

crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-cache search xorg-dev
libglu1-xorg-dev – transitional package for Debian etch
xorg-dev – the X.Org X Window System development libraries
xserver-xorg-dev – Xorg X server – development files
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-get install xorg-dev
正在读取软件包列表… 完成
正在分析软件包的依赖关系树      
正在读取状态信息… 完成      
下列软件包是自动安装的并且现在不再被使用了:
linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic python-compizconfig libemeraldengine0
使用'apt-get autoremove'来删除它们
将会安装下列额外的软件包:
libdmx-dev libexpat1-dev。。。。。。xinerama-dev xserver-xorg-dev
zlib1g-dev
下列【新】软件包将被安装:
libdmx-dev libexpat1-dev libfontconfig1-dev libfontenc-dev libfreetype6-dev libfs-dev …..
xserver-xorg-dev zlib1g-dev
共升级了 0 个软件包,新安装了 69 个软件包,要卸载 0 个软件包,有 0 个软件未被升级。
需要下载 4978kB 的软件包。
解压缩后会消耗掉 19.2MB 的额外空间。
您希望继续执行吗?[Y/n]y
获取:1 http://ubuntu.cn99.com jaunty/main x11proto-dmx-dev 1:2.2.2-5build1 [7092B]
。。。。

然后OK了,可以继续make了。。。
结果后来又出错了:
Compiling pngpread.c…
Archiving ../lib/libfltk_png.a…
make[2]:正在离开目录 `/home/crifan/develop/buildroot/buildroot-2009.05/build_arm/fltk-1.1.7/png'
=== making src ===
make[2]: 正在进入目录 `/home/crifan/develop/buildroot/buildroot-2009.05/build_arm/fltk-1.1.7/src'
Compiling Fl.cxx…
make[2]: *** [Fl.o] 错误 1
make[2]:正在离开目录 `/home/crifan/develop/buildroot/buildroot-2009.05/build_arm/fltk-1.1.7/src'
make[1]:正在离开目录 `/home/crifan/develop/buildroot/buildroot-2009.05/build_arm/fltk-1.1.7'
>>> fltk 1.1.7 'Installing to host (staging directory)'
/usr/bin/make -j1 DESTDIR=/home/crifan/develop/buildroot/buildroot-2009.05/build_arm/staging_dir STRIP=true -Not_stripping install -C /home/crifan/develop/buildroot/buildroot-2009.05/build_arm/fltk-1.1.7/
/usr/bin/make: invalid option — 'N'
用法:make [选项] [目标] …
选项:
-b, -m                      Ignored for compatibility.
-B, –always-make           Unconditionally make all targets.
。。。。。。
这个程序创建为 i486-pc-linux-gnu
Report bugs to <[email protected]>
make: *** [/home/crifan/develop/buildroot/buildroot-2009.05/build_arm/fltk-1.1.7/.stamp_staging_installed] 错误 2

无意间,发现,上面还有个错误:
flex installed:                    Ok
gettext installed:                Ok
makeinfo installed:            FALSE
。。。
所以,怀疑是不是makeinfo的问题,所以去安装他,结果没有找到:
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-get install makeinfo
正在读取软件包列表… 完成
正在分析软件包的依赖关系树      
正在读取状态信息… 完成      
E: 无法找到软件包 makeinfo

更可恶的是,搜也没搜到:
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-cache search makeinfo
texi2html – Convert Texinfo files to HTML

百度了一下,按照:
makeinfo installed : FALSE 的问题
http://blog.csdn.net/yixilee/archive/2008/12/12/3504511.aspx
去安装texinfo:
crifan@ubuntu904:~/develop/buildroot/buildroot-2009.05$ sudo apt-get install texinfo
正在读取软件包列表… 完成
正在分析软件包的依赖关系树      
正在读取状态信息… 完成      
下列软件包是自动安装的并且现在不再被使用了:
linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic python-compizconfig libemeraldengine0
使用'apt-get autoremove'来删除它们
建议安装的软件包:
texinfo-doc-nonfree texlive-base texlive-generic-recommended texlive-latex-base
下列【新】软件包将被安装:
texinfo
共升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件未被升级。
需要下载 347kB 的软件包。
解压缩后会消耗掉 2195kB 的额外空间。
获取:1 http://ubuntu.cn99.com jaunty/main texinfo 4.11.dfsg.1-4 [347kB]
下载 347kB,耗时 1s (231kB/s)  
选中了曾被取消选择的软件包 texinfo。
(正在读取数据库 … 系统当前总共安装有 162266 个文件和目录。)
正在解压缩 texinfo (从 …/texinfo_4.11.dfsg.1-4_i386.deb) …
正在处理用于 man-db 的触发器…
正在设置 texinfo (4.11.dfsg.1-4) …

然后继续make,结果还是不行。。。

转载请注明:在路上 » buildroot制作编译环境全过程解决

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
83 queries in 0.180 seconds, using 22.21MB memory