Link to home
Start Free TrialLog in
Avatar of chalie001
chalie001

asked on

make oldconfig error

error
make oldconfig
  HOSTCC  scripts/basic/fixdep
/bin/sh: 1: gcc: not found
scripts/Makefile.host:107: recipe for target 'scripts/basic/fixdep' failed
make[1]: *** [scripts/basic/fixdep] Error 127
Makefile:501: recipe for target 'scripts_basic' failed
make: *** [scripts_basic] Error 2
lnxvm@lnxvm-VirtualBox:~/Documents/kernel/linux-5.6.3$ sudo make oldconfig
  HOSTCC  scripts/basic/fixdep
/bin/sh: 1: gcc: not found
scripts/Makefile.host:107: recipe for target 'scripts/basic/fixdep' failed
make[1]: *** [scripts/basic/fixdep] Error 127
Makefile:501: recipe for target 'scripts_basic' failed
make: *** [scripts_basic] Error 2


make oldconfig
make: *** No rule to make target 'oldconfig'.  Stop.
lnxvm@lnxvm-VirtualBox:/boot$ sudo make oldconfig
[sudo] password for lnxvm:
make: *** No rule to make target 'oldconfig'.  Stop.


i also id this
sudo apt-get -y install libssl-dev
[sudo] password for lnxvm:
Reading package lists... Done
Building dependency tree
Reading state information... Done
libssl-dev is already the newest version (1.1.1-1ubuntu2.1~18.04.5).
The following packages were automatically installed and are no longer required:
  fonts-liberation2 fonts-opensymbol gir1.2-geocodeglib-1.0 gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gir1.2-gudev-1.0
  gir1.2-udisks-2.0 grilo-plugins-0.3-base gstreamer1.0-gtk3 libboost-date-time1.65.1 libboost-filesystem1.65.1
  libboost-iostreams1.65.1 libboost-locale1.65.1 libcdr-0.1-1 libclucene-contribs1v5 libclucene-core1v5 libcmis-0.5-5v5 libcolamd2
  libdazzle-1.0-0 libe-book-0.1-1 libedataserverui-1.2-2 libeot0 libepubgen-0.1-1 libetonyek-0.1-1 libevent-2.1-6 libexiv2-14
  libfreerdp-client2-2 libfreerdp2-2 libgc1c2 libgee-0.8-2 libgexiv2-2 libgom-1.0-0 libgpgmepp6 libgpod-common libgpod4
  liblangtag-common liblangtag1 liblirc-client0 liblua5.3-0 libmediaart-2.0-0 libmspub-0.1-1 libodfgen-0.1-1 libqqwing2v5 libraw16
  librevenge-0.0-0 libsgutils2-2 libssh-4 libsuitesparseconfig5 libvncclient1 libwinpr2-2 libxapian30 libxmlsec1 libxmlsec1-nss
  lp-solve media-player-info python3-mako python3-markupsafe syslinux syslinux-common syslinux-legacy usb-creator-common
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 290 not upgraded.
lnxvm@lnxvm-VirtualBox:/$ sudo apt-get -y install libncurses5 libncurses5-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libncurses5 is already the newest version (6.1-1ubuntu1.18.04).
libncurses5-dev is already the newest version (6.1-1ubuntu1.18.04).
The following packages were automatically installed and are no longer required:
  fonts-liberation2 fonts-opensymbol gir1.2-geocodeglib-1.0 gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gir1.2-gudev-1.0
  gir1.2-udisks-2.0 grilo-plugins-0.3-base gstreamer1.0-gtk3 libboost-date-time1.65.1 libboost-filesystem1.65.1
  libboost-iostreams1.65.1 libboost-locale1.65.1 libcdr-0.1-1 libclucene-contribs1v5 libclucene-core1v5 libcmis-0.5-5v5 libcolamd2
  libdazzle-1.0-0 libe-book-0.1-1 libedataserverui-1.2-2 libeot0 libepubgen-0.1-1 libetonyek-0.1-1 libevent-2.1-6 libexiv2-14
  libfreerdp-client2-2 libfreerdp2-2 libgc1c2 libgee-0.8-2 libgexiv2-2 libgom-1.0-0 libgpgmepp6 libgpod-common libgpod4
  liblangtag-common liblangtag1 liblirc-client0 liblua5.3-0 libmediaart-2.0-0 libmspub-0.1-1 libodfgen-0.1-1 libqqwing2v5 libraw16
  librevenge-0.0-0 libsgutils2-2 libssh-4 libsuitesparseconfig5 libvncclient1 libwinpr2-2 libxapian30 libxmlsec1 libxmlsec1-nss
  lp-solve media-player-info python3-mako python3-markupsafe syslinux syslinux-common syslinux-legacy usb-creator-common
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 290 not upgraded.
lnxvm@lnxvm-VirtualBox:/$ sudo mkdir -p /usr/src/kernel
lnxvm@lnxvm-VirtualBox:/$ sudo chown -R lnxvm:lnxvm /usr/src/kernel
lnxvm@lnxvm-VirtualBox:/$ cd /usr/src/kernel
lnxvm@lnxvm-VirtualBox:/usr/src/kernel$ pwd
/usr/src/kernel
lnxvm@lnxvm-VirtualBox:/usr/src/kernel$ ls
linux-5.6.3
lnxvm@lnxvm-VirtualBox:/usr/src/kernel$ cd linux-5.6.3
lnxvm@lnxvm-VirtualBox:/usr/src/kernel/linux-5.6.3$ cp /boot/config-5.0.0-23-generic .config
lnxvm@lnxvm-VirtualBox:/usr/src/kernel/linux-5.6.3$ make menuconfig
  HOSTCC  scripts/basic/fixdep
/bin/sh: 1: gcc: not found
scripts/Makefile.host:107: recipe for target 'scripts/basic/fixdep' failed
make[1]: *** [scripts/basic/fixdep] Error 127
Makefile:501: recipe for target 'scripts_basic' failed
make: *** [scripts_basic] Error 2
Avatar of David Favor
David Favor
Flag of United States of America image

You'll install the gcc compiler package + your Distro's equivalent of the build-essential package (if it's not installed).

You must have gcc installed before you can build much of anything... especially the entire Kernel...
Building Kernels is complex.

Having a Kernel Crash can lose a great deal of data.

Debugging Kernel Crashes after custom builds can eat up a massive amount of time.

Tip: Rather than building the 5.0 Kernel on Bionic, might be good to wait 10 days till Focal releases, then you'll have a 5.4 version of the Kernel installed by default.
Avatar of chalie001
chalie001

ASKER

i did
lnxvm@lnxvm-VirtualBox:/$ sudo apt-get install manpages-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
manpages-dev is already the newest version (4.15-1).
manpages-dev set to manually installed.
The following packages were automatically installed and are no longer required:
  fonts-liberation2 fonts-opensymbol gir1.2-geocodeglib-1.0 gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gir1.2-gudev-1.0
  gir1.2-udisks-2.0 grilo-plugins-0.3-base gstreamer1.0-gtk3 libboost-date-time1.65.1 libboost-filesystem1.65.1
  libboost-iostreams1.65.1 libboost-locale1.65.1 libcdr-0.1-1 libclucene-contribs1v5 libclucene-core1v5 libcmis-0.5-5v5 libcolamd2
  libdazzle-1.0-0 libe-book-0.1-1 libedataserverui-1.2-2 libeot0 libepubgen-0.1-1 libetonyek-0.1-1 libevent-2.1-6 libexiv2-14
  libfreerdp-client2-2 libfreerdp2-2 libgc1c2 libgee-0.8-2 libgexiv2-2 libgom-1.0-0 libgpgmepp6 libgpod-common libgpod4
  liblangtag-common liblangtag1 liblirc-client0 liblua5.3-0 libmediaart-2.0-0 libmspub-0.1-1 libodfgen-0.1-1 libqqwing2v5 libraw16
  librevenge-0.0-0 libsgutils2-2 libssh-4 libsuitesparseconfig5 libvncclient1 libwinpr2-2 libxapian30 libxmlsec1 libxmlsec1-nss
  lp-solve media-player-info python3-mako python3-markupsafe syslinux syslinux-common syslinux-legacy usb-creator-common
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 282 not upgraded.
lnxvm@lnxvm-VirtualBox:/$ gcc --version
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


am geting
lnxvm@lnxvm-VirtualBox:/usr/src/kernel/linux-5.6.3$ make menuconfig
  HOSTCC  scripts/basic/fixdep
  UPD     scripts/kconfig/mconf-cfg
  HOSTCC  scripts/kconfig/mconf.o
  HOSTCC  scripts/kconfig/lxdialog/checklist.o
  HOSTCC  scripts/kconfig/lxdialog/inputbox.o
  HOSTCC  scripts/kconfig/lxdialog/menubox.o
  HOSTCC  scripts/kconfig/lxdialog/textbox.o
  HOSTCC  scripts/kconfig/lxdialog/util.o
  HOSTCC  scripts/kconfig/lxdialog/yesno.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
/bin/sh: 1: flex: not found
scripts/Makefile.host:9: recipe for target 'scripts/kconfig/lexer.lex.c' failed
make[1]: *** [scripts/kconfig/lexer.lex.c] Error 127
Makefile:568: recipe for target 'menuconfig' failed
make: *** [menuconfig] Error 2
@chalie001

I am trying the same at localhost vmplayer
1)
downloaded
https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.6.3.tar.xz
2)
at Linux CentOS 5.5
$ make oldconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
/bin/sh: flex: command not found
$ sudo yum -y install flex

Open in new window

flex installation used to take time.
@chalie001

I like the comment from David Favor
>> Building Kernels is complex.
>> Having a Kernel Crash can lose a great deal of data.
Hence better have a backup before proceeding the same.

I am unable to reproduce your error
for your information:
$ yum list > ~/svn/yum_list.txt
$ grep "^gcc" ~/svn/yum_list.txt
gcc.x86_64                                   4.1.2-55.el5             installed
gcc-c++.x86_64                               4.1.2-55.el5             installed
gcc44.x86_64                                 4.4.7-11.el5_11          installed
gcc44-c++.x86_64                             4.4.7-11.el5_11          installed
gcc.x86_64                                   4.8.5-39.0.3.el7         ol7_latest
gcc-c++.x86_64                               4.8.5-39.0.3.el7         ol7_latest
gcc-gfortran.x86_64                          4.8.5-39.0.3.el7         ol7_latest
gcc-gnat.x86_64                              4.8.5-39.0.3.el7         ol7_latest
gcc-java.x86_64                              4.1.2-55.el5             el5_latest
gcc-objc.x86_64                              4.8.5-39.0.3.el7         ol7_latest
gcc-objc++.x86_64                            4.8.5-39.0.3.el7         ol7_latest
gcc44-gfortran.x86_64                        4.4.7-11.el5_11          el5_latest
$ grep "flex" ~/svn/yum_list.txt
flex.x86_64                                  2.5.37-6.el7             ol7_latest

Open in new window


sudo yum -y install flex.x86_64
sudo yum -y install gcc.x86_64
sudo yum -y install gcc-c++.x86_64
sudo yum -y install gcc-gfortran.x86_64
sudo yum -y install gcc-gnat.x86_64
sudo yum -y install gcc-objc.x86_64
sudo yum -y install gcc-objc++.x86_64

Open in new window

The top-level README in the Linux source tree is very short and you should have read it before starting.
It directs you to first read Documentation/admin-guide/README.rst
That file in turn advises you read Documentation/process/changes.rst for a comprehensive list of software required to build the kernel, with how to check what is installed now.
I am not posting a copy here - you can read it for yourself - but flex is the 4th entry in the list.
https://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D provides another option.

This is where all Ubuntu Kernel builds live, before they're rolled into Distros.

You can even download a prebuild 5.6.4 + even a 5.7 Beta Kernel from this archive.
am in ubuntu i did
sudo apt-get -y install flex
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages were automatically installed and are no longer required:
  fonts-liberation2 fonts-opensymbol gir1.2-geocodeglib-1.0
  gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gir1.2-gudev-1.0
  gir1.2-udisks-2.0 grilo-plugins-0.3-base gstreamer1.0-gtk3
  libboost-date-time1.65.1 libboost-filesystem1.65.1 libboost-iostreams1.65.1
  libboost-locale1.65.1 libcdr-0.1-1 libclucene-contribs1v5
  libclucene-core1v5 libcmis-0.5-5v5 libcolamd2 libdazzle-1.0-0
  libe-book-0.1-1 libedataserverui-1.2-2 libeot0 libepubgen-0.1-1
  libetonyek-0.1-1 libevent-2.1-6 libexiv2-14 libfreerdp-client2-2
  libfreerdp2-2 libgc1c2 libgee-0.8-2 libgexiv2-2 libgom-1.0-0 libgpgmepp6
  libgpod-common libgpod4 liblangtag-common liblangtag1 liblirc-client0
  liblua5.3-0 libmediaart-2.0-0 libmspub-0.1-1 libodfgen-0.1-1 libqqwing2v5
  libraw16 librevenge-0.0-0 libsgutils2-2 libssh-4 libsuitesparseconfig5
  libvncclient1 libwinpr2-2 libxapian30 libxmlsec1 libxmlsec1-nss lp-solve
  media-player-info python3-mako python3-markupsafe syslinux syslinux-common
  syslinux-legacy usb-creator-common
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libfl-dev libfl2 libsigsegv2 m4
Suggested packages:
  bison flex-doc m4-doc
The following NEW packages will be installed:
  flex libfl-dev libfl2 libsigsegv2 m4
0 upgraded, 5 newly installed, 0 to remove and 284 not upgraded.
Need to get 545 kB of archives.
After this operation, 1,511 kB of additional disk space will be used.
Get:1 http://za.archive.ubuntu.com/ubuntu bionic/main amd64 libsigsegv2 amd64 2.12-1 [14.7 kB]
Get:2 http://za.archive.ubuntu.com/ubuntu bionic/main amd64 m4 amd64 1.4.18-1 [197 kB]
Get:3 http://za.archive.ubuntu.com/ubuntu bionic/main amd64 flex amd64 2.6.4-6 [316 kB]
Get:4 http://za.archive.ubuntu.com/ubuntu bionic/main amd64 libfl2 amd64 2.6.4-6 [11.4 kB]
Get:5 http://za.archive.ubuntu.com/ubuntu bionic/main amd64 libfl-dev amd64 2.6.4-6 [6,320 B]
Fetched 545 kB in 1s (418 kB/s)
Selecting previously unselected package libsigsegv2:amd64.
(Reading database ... 122333 files and directories currently installed.)
Preparing to unpack .../libsigsegv2_2.12-1_amd64.deb ...
Unpacking libsigsegv2:amd64 (2.12-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../archives/m4_1.4.18-1_amd64.deb ...
Unpacking m4 (1.4.18-1) ...
Selecting previously unselected package flex.
Preparing to unpack .../flex_2.6.4-6_amd64.deb ...
Unpacking flex (2.6.4-6) ...
Selecting previously unselected package libfl2:amd64.
Preparing to unpack .../libfl2_2.6.4-6_amd64.deb ...
Unpacking libfl2:amd64 (2.6.4-6) ...
Selecting previously unselected package libfl-dev:amd64.
Preparing to unpack .../libfl-dev_2.6.4-6_amd64.deb ...
Unpacking libfl-dev:amd64 (2.6.4-6) ...
Setting up libsigsegv2:amd64 (2.12-1) ...
Processing triggers for install-info (6.5.0.dfsg.1-2) ...
Setting up m4 (1.4.18-1) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Setting up libfl2:amd64 (2.6.4-6) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Setting up flex (2.6.4-6) ...
Setting up libfl-dev:amd64 (2.6.4-6) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
lnxvm@lnxvm-VirtualBox:/usr/src/kernel$ make oldconfig
make: *** No rule to make target 'oldconfig'.  Stop.
lnxvm@lnxvm-VirtualBox:/usr/src/kernel$ make menuconfig
make: *** No rule to make target 'menuconfig'.  Stop.
ASKER CERTIFIED SOLUTION
Avatar of Duncan Roe
Duncan Roe
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
From the output you posted, you will need bison soon enough. But let's get your source directory sorted out first.
i did
lnxvm@lnxvm-VirtualBox:/usr/src/kernel/linux-5.6.3$ ls -ltr
total 808
drwxrwxr-x   4 lnxvm lnxvm   4096 Apr  8 09:11 virt
drwxrwxr-x   3 lnxvm lnxvm   4096 Apr  8 09:11 usr
drwxrwxr-x  36 lnxvm lnxvm   4096 Apr  8 09:11 tools
drwxrwxr-x  26 lnxvm lnxvm   4096 Apr  8 09:11 sound
drwxrwxr-x  12 lnxvm lnxvm   4096 Apr  8 09:11 security
drwxrwxr-x  15 lnxvm lnxvm   4096 Apr  8 09:11 scripts
drwxrwxr-x  30 lnxvm lnxvm   4096 Apr  8 09:11 samples
-rw-rw-r--   1 lnxvm lnxvm    727 Apr  8 09:11 README
drwxrwxr-x  72 lnxvm lnxvm   4096 Apr  8 09:11 net
drwxrwxr-x   3 lnxvm lnxvm   4096 Apr  8 09:11 mm
-rw-rw-r--   1 lnxvm lnxvm  60410 Apr  8 09:11 Makefile
-rw-rw-r--   1 lnxvm lnxvm 545614 Apr  8 09:11 MAINTAINERS
drwxrwxr-x   6 lnxvm lnxvm   4096 Apr  8 09:11 LICENSES
drwxrwxr-x  20 lnxvm lnxvm  12288 Apr  8 09:11 lib
drwxrwxr-x  18 lnxvm lnxvm   4096 Apr  8 09:11 kernel
-rw-rw-r--   1 lnxvm lnxvm    595 Apr  8 09:11 Kconfig
-rw-rw-r--   1 lnxvm lnxvm   1327 Apr  8 09:11 Kbuild
drwxrwxr-x   2 lnxvm lnxvm   4096 Apr  8 09:11 ipc
drwxrwxr-x   2 lnxvm lnxvm   4096 Apr  8 09:11 init
drwxrwxr-x  28 lnxvm lnxvm   4096 Apr  8 09:11 include
drwxrwxr-x  78 lnxvm lnxvm   4096 Apr  8 09:11 fs
drwxrwxr-x 138 lnxvm lnxvm   4096 Apr  8 09:11 drivers
drwxrwxr-x  81 lnxvm lnxvm   4096 Apr  8 09:11 Documentation
drwxrwxr-x   4 lnxvm lnxvm   4096 Apr  8 09:11 crypto
-rw-rw-r--   1 lnxvm lnxvm  99724 Apr  8 09:11 CREDITS
-rw-rw-r--   1 lnxvm lnxvm    496 Apr  8 09:11 COPYING
drwxrwxr-x   2 lnxvm lnxvm   4096 Apr  8 09:11 certs
drwxrwxr-x   3 lnxvm lnxvm   4096 Apr  8 09:11 block
drwxrwxr-x  27 lnxvm lnxvm   4096 Apr  8 09:11 arch
lnxvm@lnxvm-VirtualBox:/usr/src/kernel/linux-5.6.3$ make help
Cleaning targets:
  clean           - Remove most generated files but keep the config and
                    enough build support to build external modules
  mrproper        - Remove all generated files + config + various backup files
  distclean       - mrproper + remove editor backup and patch files

Configuration targets:
  config          - Update current config utilising a line-oriented program
  nconfig         - Update current config utilising a ncurses menu based program
  menuconfig      - Update current config utilising a menu based program
  xconfig         - Update current config utilising a Qt based front-end
  gconfig         - Update current config utilising a GTK+ based front-end
  oldconfig       - Update current config utilising a provided .config as base
  localmodconfig  - Update current config disabling modules not loaded
  localyesconfig  - Update current config converting local mods to core
  defconfig       - New config with default from ARCH supplied defconfig
  savedefconfig   - Save current config as ./defconfig (minimal config)
  allnoconfig     - New config where all options are answered with no
  allyesconfig    - New config where all options are accepted with yes
  allmodconfig    - New config selecting modules when possible
  alldefconfig    - New config with all symbols set to default
  randconfig      - New config with random answer to all options
  yes2modconfig   - Change answers from yes to mod if possible
  mod2yesconfig   - Change answers from mod to yes if possible
  listnewconfig   - List new options
  helpnewconfig   - List new options and help text
  olddefconfig    - Same as oldconfig but sets new symbols to their
                    default value without prompting
  kvmconfig       - Enable additional options for kvm guest kernel support
  xenconfig       - Enable additional options for xen dom0 and guest kernel
                    support
  tinyconfig      - Configure the tiniest possible kernel
  testconfig      - Run Kconfig unit tests (requires python3 and pytest)

Other generic targets:
  all             - Build all targets marked with [*]
* vmlinux         - Build the bare kernel
* modules         - Build all modules
  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)
  dir/            - Build all files in dir and below
  dir/file.[ois]  - Build specified target only
  dir/file.ll     - Build the LLVM assembly file
                    (requires compiler support for LLVM assembly generation)
  dir/file.lst    - Build specified mixed source/assembly target only
                    (requires a recent binutils and recent build (System.map))
  dir/file.ko     - Build module including final link
  modules_prepare - Set up for building external modules
  tags/TAGS       - Generate tags file for editors
  cscope          - Generate cscope index
  gtags           - Generate GNU GLOBAL index
  kernelrelease   - Output the release version string (use with make -s)
  kernelversion   - Output the version stored in Makefile (use with make -s)
  image_name      - Output the image name (use with make -s)
  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH
                    (default: ./usr)

Static analysers:
  checkstack      - Generate a list of stack hogs
  namespacecheck  - Name space analysis on compiled kernel
  versioncheck    - Sanity check on version.h usage
  includecheck    - Check for duplicate included header files
  export_report   - List the usages of all exported symbols
  headerdep       - Detect inclusion cycles in headers
  coccicheck      - Check with Coccinelle

Tools:
  nsdeps          - Generate missing symbol namespace dependencies

Kernel selftest:
  kselftest       - Build and run kernel selftest (run as root)
                    Build, install, and boot kernel before
                    running kselftest on it
  kselftest-clean - Remove all generated kselftest files
  kselftest-merge - Merge all the config dependencies of kselftest to existing
                    .config.

Userspace tools targets:
  use "make tools/help"
  or  "cd tools; make help"

Kernel packaging:
  rpm-pkg             - Build both source and binary RPM kernel packages
  binrpm-pkg          - Build only the binary kernel RPM package
  deb-pkg             - Build both source and binary deb kernel packages
  bindeb-pkg          - Build only the binary kernel deb package
  snap-pkg            - Build only the binary kernel snap package
                        (will connect to external hosts)
  dir-pkg             - Build the kernel as a plain directory structure
  tar-pkg             - Build the kernel as an uncompressed tarball
  targz-pkg           - Build the kernel as a gzip compressed tarball
  tarbz2-pkg          - Build the kernel as a bzip2 compressed tarball
  tarxz-pkg           - Build the kernel as a xz compressed tarball
  perf-tar-src-pkg    - Build perf-5.6.3.tar source tarball
  perf-targz-src-pkg  - Build perf-5.6.3.tar.gz source tarball
  perf-tarbz2-src-pkg - Build perf-5.6.3.tar.bz2 source tarball
  perf-tarxz-src-pkg  - Build perf-5.6.3.tar.xz source tarball

Documentation targets:
 Linux kernel internal documentation in different formats from ReST:
  htmldocs        - HTML
  latexdocs       - LaTeX
  pdfdocs         - PDF
  epubdocs        - EPUB
  xmldocs         - XML
  linkcheckdocs   - check for broken external links
                    (will connect to external hosts)
  refcheckdocs    - check for references to non-existing files under
                    Documentation
  cleandocs       - clean all generated files

  make SPHINXDIRS="s1 s2" [target] Generate only docs of folder s1, s2
  valid values for SPHINXDIRS are: hwmon vm openrisc sh leds virt mips arm64 powerpc driver-api accounting RCU target dev-tools timers power networking input cdrom infiniband sound media core-api w1 pcmcia netlabel riscv kbuild userspace-api watchdog s390 filesystems fb livepatch hid kernel-hacking arm translations scheduler m68k firmware-guide isdn x86 doc-guide block locking spi usb maintainer process sparc PCI bpf security xtensa misc-devices fault-injection mic parisc ia64 i2c gpu fpga admin-guide trace ide crypto iio

  make SPHINX_CONF={conf-file} [target] use *additional* sphinx-build
  configuration. This is e.g. useful to build with nit-picking config.

  Default location for the generated documents is Documentation/output

Architecture specific targets (x86):
* bzImage      - Compressed kernel image (arch/x86/boot/bzImage)
  install      - Install kernel using
                  (your) ~/bin/installkernel or
                  (distribution) /sbin/installkernel or
                  install to $(INSTALL_PATH) and run lilo
  fdimage      - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)
  fdimage144   - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)
  fdimage288   - Create 2.8MB boot floppy image (arch/x86/boot/fdimage)
  isoimage     - Create a boot CD-ROM image (arch/x86/boot/image.iso)
                  bzdisk/fdimage*/isoimage also accept:
                  FDARGS="..."  arguments for the booted kernel
                  FDINITRD=file initrd for the booted kernel

  i386_defconfig              - Build for i386
  x86_64_defconfig            - Build for x86_64

  make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build
  make V=2   [targets] 2 => give reason for rebuild of target
  make O=dir [targets] Locate all output files in "dir", including .config
  make C=1   [targets] Check re-compiled c source with $CHECK
                       (sparse by default)
  make C=2   [targets] Force check of all c source with $CHECK
  make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections
  make W=n   [targets] Enable extra build checks, n=1,2,3 where
                1: warnings which may be relevant and do not occur too often
                2: warnings which occur quite often but may still be relevant
                3: more obscure warnings, can most likely be ignored
                Multiple levels can be combined with W=12 or W=123

Execute "make" or "make all" to build all targets marked with [*]
For further info see the ./README file
lnxvm@lnxvm-VirtualBox:/usr/src/kernel/linux-5.6.3$

lnxvm@lnxvm-VirtualBox:/usr/src/kernel/linux-5.6.3$ make menuconfig
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
/bin/sh: 1: bison: not found
scripts/Makefile.host:17: recipe for target 'scripts/kconfig/parser.tab.h' failed
make[1]: *** [scripts/kconfig/parser.tab.h] Error 127
Makefile:568: recipe for target 'menuconfig' failed
make: *** [menuconfig] Error 2
lnxvm@lnxvm-VirtualBox:/usr/src/kernel/linux-5.6.3$ make oldconfig
  YACC    scripts/kconfig/parser.tab.[ch]
/bin/sh: 1: bison: not found
scripts/Makefile.host:17: recipe for target 'scripts/kconfig/parser.tab.h' failed
make[1]: *** [scripts/kconfig/parser.tab.h] Error 127
Makefile:568: recipe for target 'oldconfig' failed
make: *** [oldconfig] Error 2

SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Before you re-test, do read {kernel source dir}/Documentation/process/changes.rst. It's a text file with a bit of mark-up (not much).
where is this  {kernel source dir}/Documentation/process/changes.rst.
In your Kernel Source Directory. The same directory where you type make. Instead of make, enter less Documentation/process/changes.rst