Bug 16051

Summary: "make menuconfig" fails to find ncurses library installed by package manager on Fedora
Product: Busybox Reporter: Hunter Norman <hunterwnorman>
Component: OtherAssignee: unassigned
Status: RESOLVED DUPLICATE    
Severity: normal CC: busybox-cvs
Priority: P5    
Version: 1.36.x   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Host: Target:
Build:

Description Hunter Norman 2024-04-30 14:59:44 UTC
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.
Comment 1 daveth 2024-06-08 12:55:13 UTC
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.
Comment 2 daveth 2024-06-08 13:00:35 UTC

*** This bug has been marked as a duplicate of bug 16027 ***