Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] Fix nconfig for systems with both ncurses and ncursesw
@ 2018-01-14  3:12 Guillermo A. Amaral
  2018-01-14 13:34 ` Thomas Petazzoni
  0 siblings, 1 reply; 7+ messages in thread
From: Guillermo A. Amaral @ 2018-01-14  3:12 UTC (permalink / raw)
  To: buildroot

Buildroot's "make ncurses" stopped working a while ago on all my Gentoo
systems, running the command would just cause it to crash.

I look into it and found that the issue was caused by lxdialog's cflags
which are also used to build nconfig; It would detect *ncursesw* and turn
on WIDECHAR support -- but the Makefile would still link to plain
*ncurses* while building nconfig (which was built without WIDECHAR
support).

This would cause a crash after using *wattrset* on a WINDOW instance.
WIDECHAR *wattrset* would try to set the _color member in the WINDOW
struct which does not exist in the NON-WIDECHAR ncurses instance. It
would end up clobbering data outside the struct (usually _line entries).

Just linking to *ncursesw* instead could possibly brick nconfig on older
systems, so I decided to use the same lxdialog script used to find
ncurses' cflags/ldflags for menuconfig.

Signed-off-by: Guillermo A. Amaral <g@maral.me>
---
 support/kconfig/Makefile | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/support/kconfig/Makefile b/support/kconfig/Makefile
index 7eb4071b4e..f54a60baff 100644
--- a/support/kconfig/Makefile
+++ b/support/kconfig/Makefile
@@ -220,8 +220,10 @@ HOSTCFLAGS_gconf.o	= `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
 HOSTLOADLIBES_mconf   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
 
 HOSTLOADLIBES_nconf	= $(shell \
-				pkg-config --libs menu panel ncurses 2>/dev/null \
-				|| echo "-lmenu -lpanel -lncurses"  )
+				pkg-config --libs menu panel 2>/dev/null \
+				|| echo "-lmenu -lpanel")
+HOSTLOADLIBES_nconf	+= $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags)
+
 $(obj)/qconf.o: $(obj)/.tmp_qtcheck
 
 ifeq ($(qconf-target),1)
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-01-16 22:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-14  3:12 [Buildroot] [PATCH 1/1] Fix nconfig for systems with both ncurses and ncursesw Guillermo A. Amaral
2018-01-14 13:34 ` Thomas Petazzoni
2018-01-14 16:39   ` Guillermo A. Amaral
2018-01-14 17:28     ` [Buildroot] [PATCH 1/1] kconfig: Apply upstream nconfig ncurses/ncursesw fix Guillermo A. Amaral
2018-01-15 20:37       ` Thomas Petazzoni
2018-01-16  3:14         ` Guillermo A. Amaral
2018-01-16 22:25       ` Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox