Что корректный путь состоит в том, чтобы зафиксировать утверждение в loadlocale.c?

Я недавно обновил Ubuntu к 18,04. После этого выдача команды ld постоянно отказавший со следующим утверждением:

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

Я погуглил эту проблему, и похоже, что это - известная проблема. Все решения, что я считал предложенную фиксацию этого использования следующей команды:

export LC_ALL=C

Посмотрите, например, этого. Однако выполнение так повреждает шрифты комментариев относительно моего родного языка в VIM, например.

Так, это решение не подходит для меня-. Там какие-либо другие пути состоят в том, чтобы устранить эту проблему?

7
задан 30 August 2019 в 15:24

3 ответа

У меня была эта проблема на надежном человеке Ubuntu 14, я решил ее следующим образом.

Во-первых, редактирование /etc/locale.gen и добавьте локали, которые Вы хотите.

Удостоверьтесь utf8 в локали имя является нижним регистром, не, например. UTF-8.

Таким образом, мои:

en_US.utf8
ru_RU.utf8

Теперь выполненный, как корень:

rm -f /usr/lib/locale/locale-archive
locale-gen --no-archive
locale-gen --no-archive en_US.utf8
locale-gen --no-archive ru_RU.utf8

--no-archive флаг важен.

Теперь удостоверьтесь в своих файлах запуска как ~/.bash_profile и ~/.bashrc и т.д. Вы устанавливаете LANG и связанные переменные к нижнему регистру utf8 сформируйте, см. каталоги в /usr/lib/locale для правильной формы.

0
ответ дан 23 November 2019 в 06:57

Я добавил это в свой .bashrc, и это решило проблему для как Ubuntu 18, так и 20, когда у меня было одно и то же сообщение со старым 32-битным gdb для кросс-компилятора Arm

export LANG=C

-1
ответ дан 18 May 2020 в 15:14

Так просто:

export LC_ALL=C

а затем запустите команду. LC_ALL работает как запасной вариант, если что-то не установлено (например, LC_TIME в вашем случае)

6
ответ дан 29 May 2020 в 21:23

Другие вопросы по тегам:

Похожие вопросы: