mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-09 16:01:54 -09:00
5a18eabdf08564688761a9b2f35892d69d8f9a18
Since commit 006a328ad6 ("util-linux: fix
build with ncurses"), we have a build failure that occurs with musl
toolchains when wide-char support is not enabled in ncurses.
The problem comes from the fact that musl provides wchar support (so it
defines wchar_t). But when ncursesw is not available, we currently pass
--disable-widechar which tells util-linux that wchar support is not
available at all (not only in ncurses). When this gets passed to
util-linux configure script, then it defines its own wchar_t, which
conflicts with the musl definition.
So, we should not pass --disable-widechar when BR2_USE_WCHAR=y, which is
what this commit does: it moves the BR2_USE_WCHAR logic outside of the
ncurses logic, and passes --enable-widechar/--disable-widechar as
appropriate.
However, there's a gotcha: util-linux really wants the ncursesw variant
of ncurses when the system has wchar support enabled. We take this into
account by:
- Enabling ncursesw when BR2_PACKAGE_NCURSES_WCHAR=y. In this case, we
have ncurses and we have BR2_USE_WCHAR=y, so everything is fine.
- Otherwise, enabling ncurses when BR2_PACKAGE_NCURSES=y but
BR2_USE_WCHAR is disabled.
To make sure that the existing util-linux programs that need ncurses
support still build fine, we adjust the Config.in to select
BR2_PACKAGE_NCURSES_WCHAR on BR2_USE_WCHAR=y configurations.
Fixes:
http://autobuild.buildroot.net/results/19de2a0b12380ddc86dbba0dae3a3877b25f83ff/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
…
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on Freenode IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches
Description
Languages
Makefile
62.5%
Python
19%
C
8.5%
Shell
6.1%
PHP
1.4%
Other
2.1%