loadlocale.c _nl_intern_locale_data アサーションエラー

loadlocale.c _nl_intern_locale_data アサーションエラー

Debian Jessieで作業しながら、Debianの不安定なストレージを有効にしました(テストしたのと同じ問題)。 cmakeをインストールした後、エラーが報告されます。

[...]
dpkg: error while cleaning up:
 subprocess rm command for cleanup was killed by signal (Aborted)
dpkg-split: loadlocale.c:129: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
[...]

その後、ほとんどのコマンド(sudoを含む)で独自のエラーが発生するため、コマンドラインを使用することはほとんど不可能です。

>$ ls
ls: loadlocale.c:129: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
Aborted

マシンをシャットダウンせずにこのエラーを修復するにはどうすればよいですか?

また、これはloadlocale.cのバグですか?明らかに、同様の問題がどこでも発生します。
https://github.com/junegunn/fzf/issues/356
https://www.reddit.com/r/archlinux/comments/3g9dzf/loadlocalec130_error_on_everything/
https://patchwork.openembedded.org/patch/114739/

ベストアンサー1

次の投稿のおかげで解決策を見つけました。
https://stackoverflow.com/questions/37121895/yocto-build-loadlocale-c-130
ロケールを設定できません。 $LC_*と$LANGが正しいことを確認してください!

しかし、この問題をどこで責めるべきかはまだわかりません。

まず、使用可能なコマンドラインを取得するには、以下を$LANG定義する必要があります。

>$ LANG=/usr/lib/locale/en_US

(設定はLANG=en_US適用されません。パスが必要です!)

これでコマンドラインが再び機能します。ルートとしてlocale.genシステムで使用するすべてのロケールを編集し、コメントアウトを削除します。

>$ sudo vim /etc/locale.gen

これでlocale-genrootとして実行すると、システムが回復します。

注:dpkg-reconfigure localesエラーも発生するため動作しません。


この問題を回避するには、cmakeアップグレードする前にアンインストール(インストールされている場合)して使用してくださいapt-get upgrade。具体的には、どのパッケージをアップグレードする必要があるのか​​わかりません。

アップグレードすると十分だと思いましたが(または関連パッケージ)、Borkenパッケージエラーが発生したlocalesため機能しません。apt-get upgrade locales

>$ sudo apt-get upgrade locales
[...]
The following packages have unmet dependencies:
 libc-dev-bin : Depends: libc6 (< 2.20) but 2.27-3 is to be installed
                Recommends: manpages-dev but it is not going to be installed
 libc6-dev : Depends: libc6 (= 2.19-18+deb8u10) but 2.27-3 is to be installed
E: Broken packages

関連パッケージがあると思いますがconsole-data(フルアップグレード中にどのキーボードレイアウトを使用するか親切に尋ねるため)、アップグレードするとアップグレード時と同じパッケージがアップグレードされますconsole-dataapt-get upgrade

おすすめ記事