Unfortunately Busybox's make menuconfig
does not produce a log of its actions, so you'll need to dig a bit deeper to figure out exactly where the process goes wrong.
The error message seems to be the one produced by busybox-1.34.1/scripts/kconfig/lxdialog/check-lxdialog.sh
. It is a fairly short script that tests for the presence of ncurses library and its programming headers. It seems to prefer ncursesw
(= ncurses with support for >8-bit character sets) over regular ncurses
, and will accept classic curses
if it's the only one available.
You'll have to run essentially the same tests the script does, and see which of them are successful and which are not. The script redirects error messages to /dev/null
, but you don't want to do that here - you'll want to see the exact error message.
Here are simplified command-line equivalents of the tests the check-lxdialog.sh
script does.
One or both of the following commands should output some compiler options and exit without an error. Try them:
pkg-config --libs --cflags ncursesw
pkg-config --libs --cflags ncurses
Some or all of the following commands should display a full pathname of the ncurses library file:
cc -print-file-name=libncursesw.so
cc -print-file-name=libncursesw.a
cc -print-file-name=libncurses.so
cc -print-file-name=libncurses.a
cc -print-file-name=libcurses.so
cc -print-file-name=libcurses.a
(The script also tests for library filename suffixes .dll.a
and .dylib
, but these would seem to be for non-Linux systems, I left them out.)
Also, there should be a file named ncurses.h
or curses.h
at one of these locations:
ls -l /usr/include/*curses.h /usr/include/ncursesw/*curses.h /usr/include/ncurses/*curses.h
Please run all the commands above, and edit your question to add the resulting output to it. These tests cover the script's ldflags()
and ccflags()
functions; if their results seem normal, there's one more test to run, but I need the answers from the above tests before I can write a version of it that's suitable for running on the command line.
-dev
or-devel
packages, like many other distributions do, so just havingncurses
installed should suffice. If you can successfully runmake menuconfig
ormake nconfig
on the Linux kernel, that would support the theory that yourncurses
actually works and the build process ofbusybox
is somehow looking for it in the wrong place.menuconfig
andnconfig
Make targets) or busybox's source directory (which hasmenuconfig
only if I recall correctly)?./configure
options to tell it where ncurses actually is.