zoukankan      html  css  js  c++  java
  • 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 都可以运行了。

  • 相关阅读:
    推荐几款Winform下的皮肤控件!
    PetShop之业务逻辑层设计 《解剖PetShop》系列之五
    25款.NET开发必备工具推荐
    在aspx页面实现高亮显示搜过关键字
    PetShop之ASP.NET缓存 《解剖PetShop》系列之四
    ASP.NET页面加载顺序
    PetShop之表示层设计 《解剖PetShop》系列之六
    C#打包应用程序
    .NET获取英文月份缩写名(可获取其他国家)
    SQL Server 日期格式化输出
  • 原文地址:https://www.cnblogs.com/yangyang8848/p/3352717.html
Copyright © 2011-2022 走看看