分类: LINUX
2014-06-03 17:46:45
转:http://www.mculee.cn/post/63.html
症状1:(我碰到的是这个)
执行make menuconfig时,出现如下提示:
Preparing scripts: functions, parsing..........................................................................done.
此后,停止不动
症状2:
执行make menuconfig时,出现如下错误提示:
Preparing scripts: functions, parsing..........................................................................done.
./scripts/lxdialog/lxdialog: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ./scripts/lxdialog/lxdialog)
./scripts/lxdialog/lxdialog: /lib/tls/libc.so.6: version `GLIBC_2.3.4' not found (required by ./scripts/lxdialog/lxdialog)
Your kernel configuration changes were NOT saved.
错误原因:
由于在高版本Linux的PC上编译过嵌入式Linux的源码,导致make menuconfig时用到的lxdialog程序与低版本Linux PC上的gcc不兼容,从而导致错误。
解决方法:
首先把kernel源码下的.config文件备份一下,注意文件名不要以.config开头!比如可以叫bk-config
然后,执行make distclean
等待清理完毕后,执行make menuconfig,然后选择倒数第二项“Load an Alternate Configuration File”,输入刚刚备份的config文件的名字(如:bk-config),然后确定,退出,保存config,
然后,make dep; make zImage
搞定!
(这一问题其实没什么复杂的,但是一开始对Linux在make menuconfig过程中做的工作不是非常了解,所以导致并不知道make clean 并不会清理所有的东西,导致一直没发现这个问题的根结所在。曾经,为了解决这个问题,我比较过两台Linux的工具链版本、比较过kernel源码,甚至重装过Linux宿主机,真是汗颜!!)