解决ubuntu下make menuconfig错误问题 ??

各种窗口管理器和美化相关
回复
BAIXIN02
帖子: 4
注册时间: 2015-06-29 10:24

解决ubuntu下make menuconfig错误问题 ??

#1

帖子 BAIXIN02 » 2015-07-01 9:17

在ubuntu系统中,要编译内核,还需要安装一系列相应的工具才行。这篇文章,正是针对这一过程的一次记录,目标是可以通过 make menuconfig 或 make xconfig 配置内核参数
我的做法是从make menuconfig开始

$make menuconfig
错误信息:
*** Unable to find the ncurses libraries or the
*** required header files. :em11
*** 'make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
***
make[1]: *** [scripts/kconfig/dochecklxdialog] 错误 1
make: *** [menuconfig] 错误2

可以看出,是因为找不到 ncurses 导致的错误。那么尝试安装 ncurses

$sudo apt-get install ncurses
提示信息:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
读取状态信息... 完成
现在没有可用的软件包 ncurses , 但是它被其他的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
E: 软件包 ncurses 还没有可供安装的候选者

根据《 Compiling the Kernel - errors in make menuconfig ARCH=um 》再试:

$sudo apt-get install libncurses*
选择Y继续执行,完成后,执行$sudo make menuconfig,OK!!!

进行到这,已经可以通过make menuconfig看到内核参数配置了。不过,如果要用X11模式的make xconfig,却还是不行的

$ sudo make xconfig
错误信息:
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/docproc
CHECK qt
*
* Unable to find the QT3 installation. Please make sure that
* the QT3 development package is correctly installed and
* either install pkg-config or set the QTDIR environment
* variable to the correct location.
*
HOSTCC scripts/kconfig/conf.o
sed < scripts/kconfig/lkc_proto.h > scripts/kconfig/lkc_defs.h 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
HOSTCC scripts/kconfig/kconfig_load.o
HOSTCC scripts/kconfig/kxgettext.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/lex.zconf.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
make[1]: *** 没有规则可以创建“scripts/kconfig/qconf.o” 需要的目标“scripts/kconfig/.tmp_qtcheck” 。 停止。
make: ***[xconfig] 错误2

除了安装ncurses外,还要安装build-essential 和 kernel-package
看一下安装好了没
$ apt-cache policy kernel-package
提示信息:
kernel-package:
已安装:(无)
候选软件包:12.032
版本列表:
12.032 0
500 ftp://linux.xidian.edu.cn/ubuntu/ lucid/universe Packages


这个信息就简单多了,没有安装!那么开始安装吧

$ sudo apt-get install kernel-package
提示信息:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
linux-headers-2.6.32-21 python-ldb linux-headers-2.6.32-21-generic
python-tdb samba-ldb-tools libtevent0 python-samba libldb0
使用'apt-get autoremove'来删除它们
将会安装下列额外的软件包:
cvs gettext intltool-debian libmail-sendmail-perl libsys-hostname-long-perl
po-debconf
建议安装的软件包:
gettext-doc linux-source kernel-source docbook-utils xmlto grub grub2
jfsutils mcelog oprofile reiserfsprogs squashfs-tools xfsprogs quota
btrfs-tools libmail-box-perl
下列【新】软件包将被安装:
cvs gettext intltool-debian kernel-package libmail-sendmail-perl
libsys-hostname-long-perl po-debconf
升级了 0 个软件包,新安装了 7 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 4,213kB 的软件包。
解压缩后会消耗掉 14.2MB 的额外空间。
您希望继续执行吗?[Y/n]y


选Y吗?当然,不然做这一步干么!

然后轮到build-essential
查询安装状态
$ apt-cache policy build-essential
提示信息:
build-essential:
已安装:11.4build1
候选软件包:11.4build1
版本列表:
*** 11.4build1 0
500 ftp://linux.xidian.edu.cn/ubuntu/ lucid/main Packages
100 /var/lib/dpkg/status

已经安装了,没有安装的话输入如下命令:
$ sudo apt-get install build-essential


待build-essential完成安装后,运行make xconfig,错误信息还和之前一样,我知道,我还是没有完成除错任务。注意到上面我用红色标注的错误提示,没有安装QT3

安装QT库
$ sudo apt-get install libqt3-headers libqt3-mt-dev
注意这里把libqt3-headers和libqt3-mt-dev一起安装了。我试过两个分开安装,但好像关联不好,装好一个要卸掉另一个,总是这样。后来我火大,两个一起装,看你们还闹,果然就安分了
提示信息:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
linux-headers-2.6.32-21 python-ldb linux-headers-2.6.32-21-generic
python-tdb samba-ldb-tools libtevent0 python-samba libldb0
使用'apt-get autoremove'来删除它们
将会安装下列额外的软件包:
comerr-dev krb5-multidev libaudio-dev libaudio2 libcups2-dev libdrm-dev
libexpat1-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev
libgl1-mesa-dev libglu1-mesa-dev libgnutls-dev libgpg-error-dev libgssrpc4
libice-dev libjpeg62-dev libkadm5clnt-mit7 libkadm5srv-mit7 libkdb5-4
libkrb5-dev liblcms1-dev libmng-dev libmng1 libpng12-dev libpthread-stubs0
libpthread-stubs0-dev libqt3-compat-headers libqt3-mt libsm-dev
libtasn1-3-dev libx11-dev libxau-dev libxcb1-dev libxcursor-dev libxdmcp-dev
libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev
libxmu-headers libxrandr-dev libxrender-dev libxt-dev mesa-common-dev
qt3-dev-tools x11proto-core-dev x11proto-fixes-dev x11proto-input-dev
x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-xext-dev
x11proto-xinerama-dev xtrans-dev zlib1g-dev
建议安装的软件包:
krb5-doc nas libgcrypt11-doc gnutls-doc gnutls-bin guile-gnutls krb5-user
libqt3-mt-psql libqt3-mt-mysql libqt3-mt-odbc libqt3-i18n qt3-doc
下列【新】软件包将被安装:
comerr-dev krb5-multidev libaudio-dev libaudio2 libcups2-dev libdrm-dev
libexpat1-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev
libgl1-mesa-dev libglu1-mesa-dev libgnutls-dev libgpg-error-dev libgssrpc4
libice-dev libjpeg62-dev libkadm5clnt-mit7 libkadm5srv-mit7 libkdb5-4
libkrb5-dev liblcms1-dev libmng-dev libmng1 libpng12-dev libpthread-stubs0
libpthread-stubs0-dev libqt3-compat-headers libqt3-headers libqt3-mt
libqt3-mt-dev libsm-dev libtasn1-3-dev libx11-dev libxau-dev libxcb1-dev
libxcursor-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev
libxinerama-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev
libxt-dev mesa-common-dev qt3-dev-tools x11proto-core-dev x11proto-fixes-dev
x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev
x11proto-xext-dev x11proto-xinerama-dev xtrans-dev zlib1g-dev
升级了 0 个软件包,新安装了 60 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 18.7MB 的软件包。
解压缩后会消耗掉 50.9MB 的额外空间。
您希望继续执行吗?[Y/n]y


选Y安装后,再安装建议软件包
$ sudo apt-get install libqt3-compat-headers

执行
$sudo make xconfig
OK!!!

到此为止,不管是make config 或是 make menuconfig 再或是 make xconfig 都可以运行了。
Victorino
帖子: 2
注册时间: 2015-11-18 20:28
系统: Victorino

Re: 解决ubuntu下make menuconfig错误问题 ??

#2

帖子 Victorino » 2015-11-18 20:29

I'm looking for information that can help me.
回复