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-gen루트로 실행하면 시스템이 복구됩니다.

참고: 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-data.apt-get upgrade

관련 정보