カーネルメニューの設定が壊れているように見えるのはなぜですか?

カーネルメニューの設定が壊れているように見えるのはなぜですか?

私は組み込みシステムのカーネルをコンパイルするためにbuildroot 2018.02.1を使用してきました。カーネルメニューの設定はうまくレンダリングされましたが、ある時点で正しくレンダリングを停止し、次のように見えました。

カーネルメニューの設定

buildrootフォルダを完全に削除して再起動しようとしましたが、役に立ちませんでした。 buildroot menuconfigがうまくレンダリングされ、他のカーネルメニュー設定もうまくレンダリングされているようです。たとえば、次のようになります。

ルートメニュー構成の構築

export NCURSES_NO_UTF8_ACS=1カーネルmenuconfigを起動する前に実行しようとしましたが、何の効果もありませんでした(ビルドルートmenuconfigに影響を与えましたが)。

私のロケールは次のとおりです。

$ locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY=en_GB.UTF-8
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER=en_GB.UTF-8
LC_NAME=en_GB.UTF-8
LC_ADDRESS=en_GB.UTF-8
LC_TELEPHONE=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_IDENTIFICATION=en_GB.UTF-8
LC_ALL=

どんなアイデアがありますか?

編集する:手動で出力/ビルド/linux-XXXフォルダに移動して呼び出すとARCH=arm make menuconfig大丈夫です。問題は、Buildrootがmenuconfigを呼び出す方法に関連しているようです。

答え1

私は同じ問題を経験しました。 menuconfig、linux-menuconfigはうまくレンダリングされましたが、uboot-menuconfigはそうではありませんでした。

まず、ncurseswライブラリがホストにインストールされていることを確認してください。

pkg-config --cflags ncursesw

Debian には対応するライブラリがないため、インストールする必要があります。

sudo apt-get install libncursesw5-dev

これが誰かに役立つことを願っています。

答え2

linux.mkからLDFLAGSを削除します。

LINUX_MAKE_FLAGS = \
-       HOSTCC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS)" \
+       HOSTCC="$(HOSTCC) $(HOST_CFLAGS)" \
        ARCH=$(KERNEL_ARCH) \
        INSTALL_MOD_PATH=$(TARGET_DIR) \
        CROSS_COMPILE="$(TARGET_CROSS)" \

関連情報