[Buildroot] [PATCH 1/1] kconfig/lxdialog: fix check() with GCC14

Petr Vorel petr.vorel at gmail.com
Wed Apr 3 16:28:27 UTC 2024


Hi Robert,

> GCC14 now treats implicit int types as error so when check() from
> check-lxdialog.sh is called to check whether we can link against ncurses
> it will fail silently and the help text indicating to install ncurses is
> printed.

> However, this is not due to missing ncurses but once the stderr redirect
> to /dev/null is removed we can see the root cause:
> <stdin>:2:1: error: return type defaults to ‘int’ [-Wimplicit-int]

> So, in order for menuconfig to work with GCC14 lets just specify the
> return type of main() as int.

Good catch. Not only gcc-14, but also clang-16 fails due -Wimplicit-int.
(clang-14 was ok).

Reviewed-by: Petr Vorel <petr.vorel at gmail.com>
Tested-by: Petr Vorel <petr.vorel at gmail.com>

Kind regards,
Petr

> Signed-off-by: Robert Marko <robimarko at gmail.com>
> ---
>  support/kconfig/lxdialog/check-lxdialog.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

> diff --git a/support/kconfig/lxdialog/check-lxdialog.sh b/support/kconfig/lxdialog/check-lxdialog.sh
> index 16cd9a3186..27d6c30a57 100755
> --- a/support/kconfig/lxdialog/check-lxdialog.sh
> +++ b/support/kconfig/lxdialog/check-lxdialog.sh
> @@ -48,7 +48,7 @@ trap "rm -f $tmp" 0 1 2 3 15
>  check() {
>          $cc -x c - -o $tmp 2>/dev/null <<'EOF'
>  #include CURSES_LOC
> -main() {}
> +int main() {}
>  EOF
>  	if [ $? != 0 ]; then
>  	    echo " *** Unable to find the ncurses libraries or the"       1>&2



More information about the buildroot mailing list