[PATCH] menuconfig: GCC failing saying ncurses is not found
Harald van Dijk
harald at gigawatt.nl
Sun Jul 21 17:31:49 UTC 2024
On 21/07/2024 13:10, Nop wrote:
> Newer GCC increased diagnostics levels resulting in considering the test
> code to be invalid. The resulting message was misleading, saying that
> ncurses is not found, while it is actually found because GCC output is
> redirected to /dev/null.
Hi,
This explanation does not look correct. GCC output being redirected has
nothing to do with whether ncurses can or cannot be found, GCC output
being redirected only means the reason why ncurses cannot be found gets
hidden. In buildroot, the same error was fixed while keeping the
2>/dev/null:
https://github.com/buildroot/buildroot/blob/a6210d28dbf66b2f0a42d945711dfd93c7329feb/support/kconfig/patches/22-kconfig-lxdialog-fix-check-with-GCC14.patch
In Linux, this problem was avoided because the check was changed to not
do compilation of a test program at all (preferring pkg-config instead):
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch?id=1c5af5cf9308fff327f52c7efd2dfa732d370871
Cheers,
Harald van Dijk
> Signed-off-by: ctxnop <ctxnop at gmail.com>
> ---
> scripts/kconfig/lxdialog/check-lxdialog.sh | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh
> b/scripts/kconfig/lxdialog/check-lxdialog.sh
> index 5075ebf2d..c644d1d48 100755
> --- a/scripts/kconfig/lxdialog/check-lxdialog.sh
> +++ b/scripts/kconfig/lxdialog/check-lxdialog.sh
> @@ -45,9 +45,9 @@ trap "rm -f $tmp" 0 1 2 3 15
>
> # Check if we can link to ncurses
> check() {
> - $cc -x c - -o $tmp 2>/dev/null <<'EOF'
> + $cc -x c - -o $tmp <<'EOF'
> #include CURSES_LOC
> -main() {}
> +int main() { return 0; }
> EOF
> if [ $? != 0 ]; then
> echo " *** Unable to find the ncurses libraries or the" 1>&2
More information about the busybox
mailing list