ubuntu make menuconfig error
主机环境:
ubuntu
--------------------------------------------------------------
在ubuntu系统中,要编译内核,还需要安装一系列相应的工具才行。这篇文章,正是针对这一过程的一次记录,目标是可以通过 make menuconfig 或 make xconfig 配置内核参数
--------------------------------------------------------------
参考
apt用法参考 《 UbuntuHelp:AptGet/Howto 》
内核编译参考 《 配置并编译内核[更新到linux-2.6.26.2] 》
《 Master Kernel Thread 》
--------------------------------------------------------------
我的做法是从make menuconfig开始
$make menuconfig
错误信息:
*** Unable to find the ncurses libraries or the
*** required header files.
*** '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*
提示信息:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
读取状态信息... 完成
注意,根据正则表达式“libncurses*” 选中了 libncurses4
注意,根据正则表达式“libncurses*” 选中了 libncurses5
注意,根据正则表达式“libncurses*” 选中了 libncurses-ruby1.8
注意,根据正则表达式“libncurses*” 选中了 libncurses-ryby1.9
注意,根据正则表达式“libncurses*” 选中了 libncurses-dev
注意,根据正则表达式“libncurses*” 选中了 libncursesw5-dbg
注意,根据正则表达式“libncurses*” 选中了 libncursesw5-dev
注意,根据正则表达式“libncurses*” 选中了 libncurses-ruby
注意,根据正则表达式“libncurses*” 选中了 libncurses5-dbg
注意,根据正则表达式“libncurses*” 选中了 libncurses5-dev
注意,根据正则表达式“libncurses*” 选中了 libncursesw5
已经不需要下列自动安装的软件包:
libchewing3-data ttf-wqy-zenhei scim-chewing thunderbird-locale-zh-tw language-support-translations-zh
libchewing3 xfonts-wqy openoffice.org-l10n-zh-cn openoffice.org-l10n-zh-tw openoffice.org-help-zh-cn
openoffice.org-help-zh-tw language-support-fonts-zh
使用‘apt-get autoremove’ 来删除它们。
将会安装下列额外的软件包:
libncurses-ruby libncurses-ruby1.8 libncurses-ruby1.9 libncurses4 libncurses5-dbg libncurses5-dev
libncursesw5-dbg libncursesw5-dev libruby1.8 libruby1.9 ruby1.8 ruby1.9
建议安装的软件包:
rdoc1.8 ri1.8 ruby1.8-examples rdoc1.9 ri1.9 ruby1.9-examples
下列【新】软件包将被安装:
libncurses-ruby libncurses-ruby1.8 libncurses-ruby1.9 libncurses4 libncurses5-dbg libncurses5-dev
libncursesw5-dbg libncursesw5-dev libruby1.8 libruby1.9 ruby1.8 ruby1.9
共升级了0个软件包,新安装了12个软件包,要卸载0个软件包,有60个软件未被升级。
需要下载8868kB的软件包。
操作完成后,会消耗掉33.9MB的额外磁盘空间。
您希望继续执行吗?[Y/n]
选择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
根据《 配置并编译内核[更新到linux-2.6.26.2] 》知道在正常步骤下,除了安装ncurses外,还要安装build-essential 和 kernel-package
好吧,先开始查询一下,从kernel-package开始吧,毕竟带着kernel,估计比较重要
查询kernel-package信息
$ apt-cache show kernel-package
Package: kernel-package
Priority: optional
Section: misc
Installed-Size: 2192
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Manoj Srivastava <srivasta@debian.org>
Architecture: all
Version: 11.001
Depends: perl, dpkg (>= 1.4), dpkg-dev (>= 1.4.0.9), gcc | c-compiler, make (>= 3.80-10), po-debconf, gettext, file
Recommends: libc6-dev | libc-dev, bzip2
Suggests: linux-source | kernel-source, libdb3-dev, libncurses-dev, docbook-utils
Filename: pool/main/k/kernel-package/kernel-package_11.001_all.deb
Size: 510452
......
好多信息,不知道能不能看得懂,算了,看一下安装好了没
$ apt-cache policy kernel-package
提示信息:
kernel-package:
已安装: (无)
候选的软件包:11.001
版本列表:
11.001 0
500 http://cn.archive.ubuntu.com hardy/main Packages
9.001ubuntu15 0
500 http://ubuntu.cn99.com dapper/main Packages
这个信息就简单多了,没有安装!那么开始安装吧
$ sudo apt-get install kernel-package
提示信息:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
读取状态信息... 完成
已经不需要下列自动安装的软件包:
libchewing3-data ttf-wqy-zenhei scim-chewing thunderbird-locale-zh-tw language-support-translations-zh
libchewing3 xfonts-wqy openoffice.org-l10n-zh-cn openoffice.org-l10n-zh-tw openoffice.org-help-zh-cn
openoffice.org-help-zh-tw language-support-fonts-zh
使用‘apt-get autoremove’ 来删除它们。
将会安装下列额外的软件包:
dpkg-dev gettext intltool-debian libtimedate-perl patch po-debconf
建议安装的软件包:
debian-keyring cvs gettext-doc linux-source kernel-source libdb3-dev docbook-utils diff-doc
推荐安装的软件包:
build-essential libmail-sendmail-perl libcompress-zlib-perl libmail-box-perl
下列【新】软件包将被安装:
dpkg-dev gettext intltool-debian kernel-package libtimedate-perl patch po-debconf
共升级了0个软件包,新安装了7个软件包,要卸载0个软件包,有60个软件未被升级。
需要下载3436kB的软件包。
操作完成后,会消耗掉12.8MB的额外磁盘空间。
您希望继续执行吗?[Y/n]
选Y吗?当然,不然做这一步干么!
然后轮到build-essential
查询build-essential信息
$ apt-cache show build-essential
提示信息:
Package: build-essential
Priority: optional
Section: devel
Installed-Size: 48
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Matthias Klose <doko@debian.org>
Architecture: i386
Version: 11.3ubuntu1
Depends: libc6-dev | libc-dev, gcc (>= 4:4.1.1), g++ (>= 4:4.1.1), make, dpkg-dev (>= 1.13.5)
Filename: pool/main/b/build-essential/build-essential_11.3ubuntu1_i386.deb
Size: 7066
......
查询安装状态
$ apt-cache policy build-essential
提示信息:
build-essential:
已安装:(无)
候选的软件包:11.3ubuntu1
版本列表:
11.3ubuntu1 0
500 http://cn.archive.ubuntu.com hardy/main Packages
11.1 0
500 http://ubuntu.cn99.com dapper/main Packages
没有安装,那装上吧
$ sudo apt-get install build-essential
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
读取状态信息... 完成
已经不需要下列自动安装的软件包:
libchewing3-data ttf-wqy-zenhei scim-chewing thunderbird-locale-zh-tw language-support-translations-zh
libchewing3 xfonts-wqy openoffice.org-l10n-zh-cn openoffice.org-l10n-zh-tw openoffice.org-help-zh-cn
openoffice.org-help-zh-tw language-support-fonts-zh
使用‘apt-get autoremove’ 来删除它们。
将会安装下列额外的软件包:
g++ g++-4.2 libstdc++6-4.2-dev
建议安装的软件包:
g++-multilib g++-4.2-multilib gcc-4.2-doc libstdc++6-4.2-dbg libstdc++6-4.2-doc
下列【新】软件包将被安装:
build-essential g++ g++-4.2 libstdc++6-4.2-dev
共升级了0个软件包,新安装了4个软件包,要卸载0个软件包,有60个软件未被升级。
需要下载3979kB的软件包。
操作完成后,会消耗掉15.0MB的额外磁盘空间。
您希望继续执行吗?[Y/n]
待build-essential完成安装后,运行make xconfig,错误信息还和之前一样,我知道,我还是没有完成除错任务。注意到上面我用红色标注的错误提示,没有安装QT3
安装QT库
$ sudo apt-get install libqt3-headers libqt3-mt-dev
注意这里把libqt3-headers和libqt3-mt-dev一起安装了。我试过两个分开安装,但好像关联不好,装好一个要卸掉另一个,总是这样。后来我火大,两个一起装,看你们还闹,果然就安分了
提示信息:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
读取状态信息... 完成
已经不需要下列自动安装的软件包:
libchewing3-data ttf-wqy-zenhei scim-chewing thunderbird-locale-zh-tw language-support-translations-zh
libchewing3 xfonts-wqy openoffice.org-l10n-zh-cn openoffice.org-l10n-zh-tw openoffice.org-help-zh-cn
openoffice.org-help-zh-tw language-support-fonts-zh
使用‘apt-get autoremove’ 来删除它们。
将会安装下列额外的软件包:
comerr-dev libaudio-dev libcupsys2-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev
libgl1-mesa-dev libglu1-mesa-dev libgnutls-dev libgnutlsxx13 libgpg-error-dev libice-dev libjpeg62-dev
libkadm55 libkrb5-dev liblcms1-dev liblzo2-dev libmng-dev libopencdk10-dev libpng12-dev libpthread-stubs0
libpthread-stubs0-dev libsm-dev libtasn1-3-dev libx11-dev libxau-dev libxcb-xlib0-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 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
建议安装的软件包:
doc-base libgcrypt11-doc gnutls-bin gnutls-doc krb5-doc libqt3-i18n qt3-doc
推荐安装的软件包:
libqt3-compat-headers
下列【新】软件包将被安装:
comerr-dev libaudio-dev libcupsys2-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev
libgl1-mesa-dev libglu1-mesa-dev libgnutls-dev libgnutlsxx13 libgpg-error-dev libice-dev libjpeg62-dev
libkadm55 libkrb5-dev liblcms1-dev liblzo2-dev libmng-dev libopencdk10-dev libpng12-dev libpthread-stubs0
libpthread-stubs0-dev libqt3-headers libqt3-mt-dev libsm-dev libtasn1-3-dev libx11-dev libxau-dev
libxcb-xlib0-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
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
共升级了0个软件包,新安装了53个软件包,要卸载0个软件包,有60个软件未被升级。
需要下载8933kB的软件包。
操作完成后,会消耗掉33.0MB的额外磁盘空间。
您希望继续执行吗?[Y/n]
选Y安装后,再安装建议软件包
$ sudo apt-get install libqt3-compat-headers
执行
$sudo make xconfig
OK!!!
到此为止,不管是make config 或是 make menuconfig 再或是 make xconfig 都可以运行了。
ubuntu make menuconfig error的更多相关文章
- ubuntu.sh: 113: ubuntu.sh: Syntax error: "(" unexpected
在ubuntu电脑上安装lnmp环境,执行下面命令时 sudo sh ubuntu.sh 报错误:ubuntu.sh: 113: ubuntu.sh: Syntax error: "(&qu ...
- Ubuntu下 fatal error: Python.h: No such file or directory 解决方法
参考: fatal error: Python.h: No such file or directory Ubuntu下 fatal error: Python.h: No such file or ...
- make menuconfig error 解决方法记录
新建的一个虚拟机,发现make menuconfig 后会出错,查了一下是缺少一些库. 这个错误已经错了两次了,我不希望第三次出现了还想不起来,所以特此记录. # 错误信息: make[2]: *** ...
- Ubuntu W: GPG error: http://archive.ubuntukey....NO_PUBKEY 8D5A09
在用 sudo apt-get update 时出现这样的报错: W: GPG error: http://archive.ubuntukylin.com:10006/ubuntukylin xeni ...
- ubuntu qt :-1: error cannot find lgl
安装package "libgl1-mesa-dev": sudo apt-get install libgl1-mesa-dev 参考文献: Qt: can't find -lG ...
- [VirtualBox] Install Ubuntu 14.10 error 5 Input/output error
After you download the VirtualBox install package and install it (just defualt setting). Then you sh ...
- Ubuntu环境下Error: Invalid or corrupt jarfile xxx.jar
一.问题描述 Ubuntu环境下将Maven项目打包成jar包后,运行一下指令: $ java -jar my.jar 发生错误: Error: Invalid or corrupt jarfile ...
- ubuntu 编译C++ error: ‘syscall’ was not declared in this scope
明明已经加了头文件 #include <sys/syscall.h> #include <sched.h> #include <sys/resource.h> 编译 ...
- 使用 EasyBCD 安装Ubuntu 14.04 Error 15: file not found错误的解决方法
今天安装Window7 和 Ubuntu 14.04 双系统时,出现如下异常,记录一下. 安装过程是参考 http://www.linuxidc.com/Linux/2014-04/100369.ht ...
随机推荐
- wpf中静态资源和动态资源的区别
静态资源(StaticResource)指的是在程序载入内存时对资源的一次性使用,之后就不再访问这个资源了. 动态资源(DynamicResource)指的是在程序运行过程中然会去访问资源.
- widows下的进程与服务
进程: 当程序卡死的时候,我们可以直接通过任务管理器来关闭进程. 服务: 在这个界面,我们可以选择启动或者关闭相关服务,还可以选择服务是否自动启动. 以关闭MySQL自启动服务为例:https://j ...
- vmware虚拟机CentOS7安装oracle数据库
想用linux虚拟机装一个oracle,中间遇到的坑太多了,最后总算是安装好了,一定要写个全面的教程出来. 话不多说 通用编辑命令: vi test.txt #进入编辑模式 编辑完成后按ESC退出 ...
- vue2.0+ 从插件开发到npm发布
vue: V2.5.11 此篇尽量详细,清楚的讲解vue插件的开发到npm的发布,想想将你自己做的东西展示给广大"网民",心里还是有点小激动的...-^_^ 先上一下插件效果图-- ...
- Ubuntu安装与配置KVM
事前检查 查看一下linux是32位还是64位 file /bin/ls 确认一下 CPU支持硬件虚拟化(不支持也没关系,可以继续) egrep -o '(vmx|svm)' /proc/cpuinf ...
- iOS 选择排序
简单选择排序的基本思想:(从小到大) 第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换: 第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换: 以此类 ...
- Python OptionParser 使用详解(转载)
Python使用命令行参数能使处理流程更自动化. 链接的内容讲解得十分详细:https://www.tuicool.com/articles/rUvIbi
- 制定一个apk路径 然后跳出安装界面
制定一个apk的路径 然后跳出界面让用户选择是否安装 我们系统有一个写好的Activity来协助我们完成这一功能 我们来看看它的清单文件 <?xml version="1.0" ...
- How to code like a hacker
We are coding. Are we engineers? Are we programmers? Are we coder? No, I want to be a hacker! Many g ...
- 剑指Offer——关于劳动合同,这6件事毕业生必须知道!
剑指Offer--关于劳动合同,这6件事毕业生必须知道! 求职找工作,不少人拿到劳动合同的那刻,可能连合同内容都没看清,就挥着笔杆子"签签签".别急!劳动合同包含哪些条款你清楚 ...