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/
私はこれらの投稿のおかげで解決策を見つけました:
https://stackoverflow.com/questions/37121895/yocto-build-loadlocale-c-1
ロケールを設定できない問題。$ LC_ *と$ LANGが正しいことを確認してください!
しかし、私はまだこの問題の責任をどこに置くかわかりません。
まず、使用可能なコマンドラインを取得するには、$LANG
を定義する必要があります。
>$ LANG=/usr/lib/locale/en_US
(LANG=en_US
の設定は機能しませんでした、パスが必要です!)
その後、コマンドラインは再び使用可能になります。ルートとしてlocale.gen
を編集し、システムで使用するすべてのロケールのコメントを解除します。
>$ Sudo vim /etc/locale.gen
ここで、ルートとしてlocale-gen
を実行すると、システムが修正されます。
注:dpkg-reconfigure locales
もエラーをスローしたため、機能しませんでした。
この問題を回避するには、アップグレードする前にcmake
を削除し(インストールされている場合)、apt-get upgrade
を使用してシステムをアップグレードします。特にアップグレードが必要なパッケージを特定できませんでした。
locales
のアップグレードで十分だと思いましたが、apt-get upgrade locales
(または関連パッケージ)がborkenパッケージエラーになるため、これは機能しませんでした。
>$ 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-data
をアップグレードすると、apt-get upgrade
と同じパッケージがアップグレードされました。