DebianThis forum is for the discussion of Debian Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I was trying to upgrade to kernel 4.16 to gain protection against Meltdown and Spectre. I downloaded the source from kernel.org, then I copied my old config file over. When running "make oldconfig", you see this error:
Code:
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
YACC scripts/kconfig/zconf.tab.c
/bin/sh: 1: bison: not found
scripts/Makefile.lib:217: recipe for target 'scripts/kconfig/zconf.tab.c' failed
make[1]: *** [scripts/kconfig/zconf.tab.c] Error 127
Makefile:514: recipe for target 'oldconfig' failed
make: *** [oldconfig] Error 2
This was fixed by:
Code:
apt-get install bison
After that, I ran "make distclean" and tried "make oldconfig" and I got this error:
Code:
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
YACC scripts/kconfig/zconf.tab.c
LEX scripts/kconfig/zconf.lex.c
/bin/sh: 1: flex: not found
scripts/Makefile.lib:202: recipe for target 'scripts/kconfig/zconf.lex.c' failed
make[1]: *** [scripts/kconfig/zconf.lex.c] Error 127
Makefile:514: recipe for target 'oldconfig' failed
make: *** [oldconfig] Error 2
This was fixed with:
Code:
apt-get install flex
Now "make oldconfig" executes properly. Note that I did not see this problem with kernel 4.15. Therefore, anyone trying to upgrade to kernel 4.16 should install bison and flex first.
It appears that I've fixed the problem. I'm just posting the solution in case someone else runs across the same thing.
Yes, it seems you were missing some packages. If you want to compile software on Debian/Ubuntu derivatives, the best practice is to install the meta package named "build-essential", this will pull in all related tools such as bison, flex, automake, gcc etc (basically everything required to compile software).
Yes, it seems you were missing some packages. If you want to compile software on Debian/Ubuntu derivatives, the best practice is to install the meta package named "build-essential", this will pull in all related tools such as bison, flex, automake, gcc etc (basically everything required to compile software).
The build-essential package in Debian Stretch does not include bison and flex. That is the problem.
If you read:
Code:
/usr/share/doc/build-essential/list
The list is:
Code:
libc-dev
gcc
g++
make
gpkg-dev
The "Essential: yes" list can be viewed by running:
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.