Comments

Previously there was a change to the ncurses compile to make it more
like the typical way it was compiled on a host system. This fixed a
whole class of host machines, but masked the real underlying problem
with the display corruption issues and menuconfig.
The corner case that led to the discovery that the wrong curses.h file
was getting used was when there was no curses libraries at all on one
of the development hosts. What had happened before was that
/usr/include/curses.h on the host system had to match closely enough
to the curses.h in the sysroot and then linking against the sysroot
version of curses.so was ok (meaning no display corruption). But on
some systems with ncurses.h vs curses.h such as SuSE hosts, there were
still issues.
If we fix the root of the problem and force the mconf and lxdialog to
use the correct headers and libraries from the sysroot there is no
further issues and the menuconfig target works properly. It also
means we can back out the custom compilation flags to the ncurses
recipe because they are no longer needed.
For the kernel part of the menuconfig / nconfig changes it will be
merged separately and this is all based on:
https://lkml.org/lkml/2013/3/3/103
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
---
meta/classes/cml1.bbclass | 5 +-
.../busybox-1.20.2/busybox-cross-menuconfig.patch | 69 ++++++++++++++++++++
meta/recipes-core/busybox/busybox_1.20.2.bb | 3 +-
meta/recipes-core/ncurses/ncurses.inc | 14 ----
4 files changed, 74 insertions(+), 17 deletions(-)
create mode 100644 meta/recipes-core/busybox/busybox-1.20.2/busybox-cross-menuconfig.patch

On 03/04/2013 03:21 PM, Jason Wessel wrote:
> Previously there was a change to the ncurses compile to make it more> like the typical way it was compiled on a host system. This fixed a> whole class of host machines, but masked the real underlying problem> with the display corruption issues and menuconfig.>> The corner case that led to the discovery that the wrong curses.h file> was getting used was when there was no curses libraries at all on one> of the development hosts. What had happened before was that> /usr/include/curses.h on the host system had to match closely enough> to the curses.h in the sysroot and then linking against the sysroot> version of curses.so was ok (meaning no display corruption). But on> some systems with ncurses.h vs curses.h such as SuSE hosts, there were> still issues.>> If we fix the root of the problem and force the mconf and lxdialog to> use the correct headers and libraries from the sysroot there is no> further issues and the menuconfig target works properly. It also> means we can back out the custom compilation flags to the ncurses> recipe because they are no longer needed.>> For the kernel part of the menuconfig / nconfig changes it will be> merged separately and this is all based on:>> https://lkml.org/lkml/2013/3/3/103
Probably best to hold off merging this until we see if the kernel patch is accepted upstream. This is more of an RFC and to raise further awareness of the problem and the fact that we have a solution now that the root cause is well understood on the menuconfig corruption.
Cheers,
Jason.