On Tue, Dec 1, 2020 at 7:42 PM Scott Branden <scott.bran...@broadcom.com> wrote:
> Hi Bruce, > > On 2020-12-01 11:01 a.m., Bruce Ashfield wrote: > > On Tue, Dec 1, 2020 at 12:19 PM Scott Branden > > <scott.bran...@broadcom.com> wrote: > >> Hi Masahiro, > >> > >> On 2020-12-01 4:25 a.m., Masahiro Yamada wrote: > >>> On Sat, Nov 28, 2020 at 9:45 AM Scott Branden > >>> <scott.bran...@broadcom.com> wrote: > >>>> From: Bruce Ashfield <bruce.ashfi...@windriver.com> > >>>> > >>>> In some cross build environments such as the Yocto Project build > >>>> environment it provides an ncurses library that is compiled > >>>> differently than the host's version. This causes display corruption > >>>> problems when the host's curses includes are used instead of the > >>>> includes from the provided compiler are overridden. There is a second > >>>> case where there is no curses libraries at all on the host system and > >>>> menuconfig will just fail entirely. > >>>> > >>>> The solution is simply to allow an override variable in > >>>> check-lxdialog.sh for environments such as the Yocto Project. Adding > >>>> a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing > >>>> compiling and linking against the right headers and libraries. > >>>> > >>>> Signed-off-by: Jason Wessel <jason.wes...@windriver.com> > >>>> cc: Michal Marek <mma...@suse.cz> > >>>> cc: linux-kbu...@vger.kernel.org > >>>> Signed-off-by: Bruce Ashfield <bruce.ashfi...@windriver.com> > >>>> Signed-off-by: Scott Branden <scott.bran...@broadcom.com> > >>>> --- > >>> Some people solve the cross-compiling in Yocto > >>> by using pkg-config. > >>> > >>> > >>> For example, > >>> > >>> commit 067c650c456e758f933aaf87a202f841d34be269 > >>> Author: Pavel Modilaynen <pavel.modilay...@axis.com> > >>> Date: Fri Jul 12 13:52:19 2019 +0200 > >>> > >>> dtc: Use pkg-config to locate libyaml > >>> > >>> Using Makefile's wildcard with absolute path to detect > >>> the presence of libyaml results in false-positive > >>> detection when cross-compiling e.g. in yocto environment. > >>> > >>> > >>> > >>> mconf-cfg.sh already allows the path flexibility with pkg-config. > >>> Why do you want yet another hook? > >> I hope the yocto community can provide more details on this patch. > >> The yocto environment isolates the build environment from the host > tools. > >> Running menuconfig with the upstream kernel does not work on the latest > yocto without this patch. > > Sorry for not commenting on the origin patch, gmail buried it within > > some other threads, but luckily this one popped up. > > > > It is true that we've been carrying this for several years to deal with > > the fact that the native sysroot is not searched by the pkg-config > > called by mconf-cfg.sh (since it is separate from host and target > > pkg-config). > > > > As it turns out, in the past few weeks, we have come up with a way > > to inject those native sysroot components into pkg-config without > > the need for any changes to the scripts. > > > > Scott: if you try again the the latest oe-core, and are still seeing > > the problem with the mainline kernel, ping me, and we can see if > > the pkg-config fix isn't holding for you, at that point, yes, we may > > still need a hook like this to solve the problem. > Try reverting this kernel patch from linux-yocto and menuconfig will fail. > s/this/your/ ? I'm continuing to carry it, since that tree is part of more than just yocto builds so it is needed for other reasons as well. > menuconfig actually did work with the upstream kernel until the yocto > change below was introduced: > "cml1.bbclass: Handle ncurses-native being available via pkg-config" > > https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?h=master-next&id=ce447d70df386ca55ce1672478b245851556374e > > That's the one I was referring to. You need to take that up with the submitter of that change, since it has broken your workflow. My change will indeed fix (mask) it, but considering that commit claims to solve the same problem, it should be root caused on the oe core mailing list. Bruce > > Cheers, > > > > Bruce > > > > > > > >>>> scripts/kconfig/mconf-cfg.sh | 8 ++++++++ > >>>> 1 file changed, 8 insertions(+) > >>>> mode change 100755 => 100644 scripts/kconfig/mconf-cfg.sh > >>>> > >>>> diff --git a/scripts/kconfig/mconf-cfg.sh > b/scripts/kconfig/mconf-cfg.sh > >>>> old mode 100755 > >>>> new mode 100644 > >>>> index aa68ec95620d..32448bc198a5 > >>>> --- a/scripts/kconfig/mconf-cfg.sh > >>>> +++ b/scripts/kconfig/mconf-cfg.sh > >>>> @@ -4,6 +4,14 @@ > >>>> PKG="ncursesw" > >>>> PKG2="ncurses" > >>>> > >>>> +if [ "$CROSS_CURSES_LIB" != "" ]; then > >>>> + echo libs=\'$CROSS_CURSES_LIB\' > >>>> + if [ x"$CROSS_CURSES_INC" != x ]; then > >>>> + echo cflags=\'$CROSS_CURSES_INC\' > >>>> + fi > >>>> + exit 0 > >>>> +fi > >>>> + > >>>> if [ -n "$(command -v pkg-config)" ]; then > >>>> if pkg-config --exists $PKG; then > >>>> echo cflags=\"$(pkg-config --cflags $PKG)\" > >>>> -- > >>>> 2.17.1 > >>>> > > > > -- - Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end - "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#145166): https://lists.openembedded.org/g/openembedded-core/message/145166 Mute This Topic: https://lists.openembedded.org/mt/78639179/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-