| Summary: | "make menuconfig" fails to find ncurses library installed by package manager on Fedora | ||
|---|---|---|---|
| Product: | Busybox | Reporter: | Hunter Norman <hunterwnorman> |
| Component: | Other | Assignee: | unassigned |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | CC: | busybox-cvs |
| Priority: | P5 | ||
| Version: | 1.36.x | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Host: | Target: | ||
| Build: | |||
I've encountered this too, on Arch with host GCC 14.1.1. It seems the compiler's default behaviour changed to treat all implicit-int return types as errors at some point recently. |
I tried configuring a BusyBox install on a new Fedora system where I installed ncurses like so: "sudo dnf install ncurses-devel" and I got this error when running "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[2]: *** [/home/test/kdev/busybox-1.36.1/scripts/kconfig/lxdialog/Makefile:15: scripts/kconfig/lxdialog/dochecklxdialog] Error 1 make[1]: *** [/home/test/kdev/busybox-1.36.1/scripts/kconfig/Makefile:14: menuconfig] Error 2 make: *** [Makefile:444: menuconfig] Error 2 After investigating, I modified the file "check-lxdialog.sh" at line 50 in the check() function: Before: check() { $cc -x c - -o $tmp 2>/dev/null <<'EOF' #include CURSES_LOC main() {} EOF if [ $? != 0 ]; then echo " *** Unable to find the ncurses libraries or the" 1>&2 echo " *** required header files." 1>&2 echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2 echo " *** " 1>&2 echo " *** Install ncurses (ncurses-devel) and try again." 1>&2 echo " *** " 1>&2 exit 1 fi } After: check() { $cc -x c - -o $tmp 2>/dev/null <<'EOF' #include CURSES_LOC int main() {} EOF if [ $? != 0 ]; then echo " *** Unable to find the ncurses libraries or the" 1>&2 echo " *** required header files." 1>&2 echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2 echo " *** " 1>&2 echo " *** Install ncurses (ncurses-devel) and try again." 1>&2 echo " *** " 1>&2 exit 1 fi } Making this modification caused the ncurses library to be found properly and I was able to run "make menuconfig" successfully.