无法运行make menuconfig

当我使用make menuconfig命令时,它会显示以下内容。
sharath@sharath:~/openwrt$ make menuconfig
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'getopt'... ok.
Checking 'fileutils'... ok.
Checking 'working-gcc'... ok.
Checking 'working-g++'... failed.
Checking 'ncurses'... failed.
Checking 'zlib'... failed.
Checking 'gawk'... failed.
Checking 'flex'... failed.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'patch'... ok.
Checking 'perl'... ok.
Checking 'python'... ok.
Checking 'wget'... ok.
Checking 'gnutar'... ok.
Checking 'svn'... ok.
Checking 'gnu-find'... ok.
Checking 'getopt-extended'... ok.
Checking 'non-root'... ok.

Build dependency: Please install the GNU C++ Compiler (g++).
Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)
Build dependency: Please install zlib. (Missing libz.so or zlib.h)
Build dependency: Please install GNU awk.
Build dependency: Please install flex.

Prerequisite check failed. Use FORCE=1 to override.
make: *** [tmp/.prereq-build] Error 1

如何解决这个问题?

4大多数用户不会从源代码安装。你在这里想做什么?可能有更简单的方法来安装你所需要的东西。如果没有,你首先需要安装依赖项。使用sudo apt-get install build-essential libncurses5 zlib1g gawk flex命令来安装依赖项,然后看看还会出现哪些错误。 - Warren Hill
4个回答

由于缺少依赖项,它无法正常运行。您需要安装以下软件包:
sudo apt-get install gawk zlib1g libncurses5 g++ flex

安装这些软件包后,您的命令应该可以顺利运行。

8OP需要这些库的开发zlib1g-devlibncurses5-dev - David Foerster
确实,@DavidFoerster的评论值得成为一个独立的回答。非常感谢! - hypers

进行menuconfig需要您拥有某些构建所使用的包的开发者库。

以下是其中一个答案: 如何安装ncurses头文件?

是的,您可能不需要ncurses二进制文件,但是您确实需要它的开发者库。类似的情况也适用于其他依赖项。


在Kubuntu 16.04LTS上,@MoonCactus的回答解决了ncurses问题,太棒了。但是对于...
Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)

你可以试一试
aptitude install zlib1g-dev

按照系统提示进行降级操作。
     Keep the following packages at their current version:
1)     zlib1g-dev [Not Installed]



Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:

     Downgrade the following packages:
1)     zlib1g [1:1.2.8.dfsg-2ubuntu4.1 (now) -> 1:1.2.8.dfsg-2ubuntu4 (xenial)]



Accept this solution? [Y/n/q/?] y
The following packages will be DOWNGRADED:
  zlib1g

看起来你遇到了一个复制粘贴的问题,你在谈论 ncurses 和安装 zlib 包。 - pim

在Kubuntu 16.04LTS上,我遇到了一个类似的问题,编译OpenWrt时没有找到满足ncurses特定问题的软件包。
Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)

唯一的解决办法是将以下存储库添加到我的源中:
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe"
sudo apt-get update
sudo apt-get install libncurses5-dev