host-python3 build failure on host with package ncurses-devel installed
What I did
Buildroot commit: 2024.08-rc3 30450215
Distribution of the build machine: openSUSE Tumbleweed - 20240901
The following defconfig fails on host with package ncurses-devel installed:
BR2_arm=y
BR2_cortex_a72=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_FORCE_HOST_BUILD=y
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_PACKAGE_NCURSES=y
BR2_PACKAGE_NCURSES_WCHAR=y
BR2_PACKAGE_HOST_PYTHON3=y
BR2_PACKAGE_HOST_PYTHON3_CURSES=y./Modules/_cursesmodule.c: In function ‘_curses_window_addch_impl’:
./Modules/_cursesmodule.c:763:9: error: implicit declaration of function ‘setcchar’; did you mean ‘getwchar’? [-Wimplicit-function-declaration]
763 | setcchar(&wcval, wstr, attr, PAIR_NUMBER(attr), NULL);
| ^~~~~~~~
| getwchar
./Modules/_cursesmodule.c:765:19: error: implicit declaration of function ‘mvwadd_wch’; did you mean ‘mvwaddch’? [-Wimplicit-function-declaration]
765 | rtn = mvwadd_wch(self->win,y,x, &wcval);
| ^~~~~~~~~~
| mvwaddch
./Modules/_cursesmodule.c:767:19: error: implicit declaration of function ‘wadd_wch’; did you mean ‘waddch’? [-Wimplicit-function-declaration]
767 | rtn = wadd_wch(self->win, &wcval);
| ^~~~~~~~
| waddch
./Modules/_cursesmodule.c: In function ‘_curses_window_addstr_impl’:
./Modules/_cursesmodule.c:847:19: error: implicit declaration of function ‘mvwaddwstr’; did you mean ‘mvwaddstr’? [-Wimplicit-function-declaration]
847 | rtn = mvwaddwstr(self->win,y,x,wstr);
| ^~~~~~~~~~
| mvwaddstr
./Modules/_cursesmodule.c:849:19: error: implicit declaration of function ‘waddwstr’; did you mean ‘waddstr’? [-Wimplicit-function-declaration]
849 | rtn = waddwstr(self->win,wstr);
| ^~~~~~~~
| waddstr
./Modules/_cursesmodule.c: In function ‘_curses_window_addnstr_impl’:
./Modules/_cursesmodule.c:930:19: error: implicit declaration of function ‘mvwaddnwstr’; did you mean ‘mvwaddnstr’? [-Wimplicit-function-declaration]
930 | rtn = mvwaddnwstr(self->win,y,x,wstr,n);
| ^~~~~~~~~~~
| mvwaddnstr
./Modules/_cursesmodule.c:932:19: error: implicit declaration of function ‘waddnwstr’; did you mean ‘waddnstr’? [-Wimplicit-function-declaration]
932 | rtn = waddnwstr(self->win,wstr,n);
| ^~~~~~~~~
| waddnstr
./Modules/_cursesmodule.c: In function ‘_curses_window_get_wch_impl’:
./Modules/_cursesmodule.c:1503:14: error: implicit declaration of function ‘wget_wch’; did you mean ‘wgetch’? [-Wimplicit-function-declaration]
1503 | ct = wget_wch(self->win ,&rtn);
| ^~~~~~~~
| wgetch
./Modules/_cursesmodule.c:1506:14: error: implicit declaration of function ‘mvwget_wch’; did you mean ‘mvwgetch’? [-Wimplicit-function-declaration]
1506 | ct = mvwget_wch(self->win, y, x, &rtn);
| ^~~~~~~~~~
| mvwgetch
./Modules/_cursesmodule.c: In function ‘_curses_window_insstr_impl’:
./Modules/_cursesmodule.c:1848:19: error: implicit declaration of function ‘mvwins_wstr’; did you mean ‘mvwinsstr’? [-Wimplicit-function-declaration]
1848 | rtn = mvwins_wstr(self->win,y,x,wstr);
| ^~~~~~~~~~~
| mvwinsstr
/usr/bin/gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -O2 -I.../host/include -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I.../host/include -fPIC -fPIC -c ./Modules/xxlimited_35.c -o Modules/xxlimited_35.o
./Modules/_cursesmodule.c:1850:19: error: implicit declaration of function ‘wins_wstr’; did you mean ‘winsstr’? [-Wimplicit-function-declaration]
1850 | rtn = wins_wstr(self->win,wstr);
| ^~~~~~~~~
| winsstr
./Modules/_cursesmodule.c: In function ‘_curses_window_insnstr_impl’:
./Modules/_cursesmodule.c:1933:19: error: implicit declaration of function ‘mvwins_nwstr’; did you mean ‘mvwinsnstr’? [-Wimplicit-function-declaration]
1933 | rtn = mvwins_nwstr(self->win,y,x,wstr,n);
| ^~~~~~~~~~~~
| mvwinsnstr
./Modules/_cursesmodule.c:1935:19: error: implicit declaration of function ‘wins_nwstr’; did you mean ‘winsnstr’? [-Wimplicit-function-declaration]
1935 | rtn = wins_nwstr(self->win,wstr,n);
| ^~~~~~~~~~
| winsnstr
/usr/bin/install -c -m 644 ./Tools/gdb/libpython.py python-gdb.py
/usr/bin/gcc -c -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -O2 -I.../host/include -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I.../host/include -fPIC -DPy_BUILD_CORE -o Programs/_testembed.o ./Programs/_testembed.c
./Modules/_cursesmodule.c: In function ‘_curses_unget_wch’:
./Modules/_cursesmodule.c:4498:29: error: implicit declaration of function ‘unget_wch’; did you mean ‘ungetch’? [-Wimplicit-function-declaration]
4498 | return PyCursesCheckERR(unget_wch(wch), "unget_wch");
| ^~~~~~~~~
| ungetch
sed -e "s,/usr/bin/env python3,.../host/bin/python3.12," < ./Tools/scripts/2to3 > build/scripts-3.12/2to3-3.12
make[2]: *** [Makefile:3112: Modules/_cursesmodule.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [package/pkg-generic.mk:289: .../build/host-python3-3.12.5/.stamp_built] Error 2
make: *** [Makefile:23: _all] Error 2
Deinstallation of host package 'ncurses-devel' fixes the build...