Travailler à Debian Jessie, j'ai activé le référentiel de Debian instable (même problème avec les tests). Ensuite, l'installation de la cmake lancerait une erreur:
[...]
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.
[...]
Après cela, l'utilisation de la ligne de commande est irréprochable, car la plupart des commandes, y compris sudo, jettent leur propre erreur:
>$ 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
Comment puis-je récupérer de cette erreur sans arrêter la machine?
En outre, est-ce un bogue dans loadlocale.c? Apparemment, des problèmes similaires se produisent partout:
[.____] https://github.com/junegunn/fzf/issues/356
[.____] https://www.reddit.com/r/arlinux/comments/3g9dzf/loadlocalec130_error_on_euverything/
[.____] https://patchwork.openeMedded.org/patch/114739/
J'ai pensé une solution, gros merci à ces messages:
[.____] https://stackoverflow.com/questions/37121895/yocto-build-locale-c-1
[.____] problème de ne peut pas définir les paramètres locaux; assurez-vous que $ lc_ * et $ lang sont corrects!
Cependant, je ne suis toujours pas sûr où mettre le blâme de ce problème.
Premièrement, pour obtenir une ligne de commande utilisable, $LANG
doit être défini:
>$ LANG=/usr/lib/locale/en_US
(réglage LANG=en_US
n'a pas fonctionné, chemin est requis!)
Ensuite, la ligne de commande doit être utilisable à nouveau. Éditer locale.gen
En tant que root et décotez toutes les localités que vous voudriez utiliser sur votre système:
>$ Sudo vim /etc/locale.gen
Maintenant courir locale-gen
En tant que racine et le système doit être corrigé.
Noter: dpkg-reconfigure locales
n'a pas fonctionné car il a également jeté des erreurs.
Pour éviter ce problème, supprimez cmake
avant de mettre à niveau (s'il est installé) et mettez à niveau votre système à l'aide de apt-get upgrade
. Je n'ai pas pu comprendre quel paquet aurait besoin de mettre à niveau spécifiquement.
Je pensais que la mise à niveau locales
devrait suffire, mais cela n'a pas fonctionné depuis apt-get upgrade locales
(ou packages associés) entraîne une erreur de forfaits de 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
et bien que je crois que le paquet pertinent est console-data
(puisqu'il demandera bien ce que vous voudriez utiliser le clavier à utiliser lors d'une mise à niveau complète), à la mise à niveau console-data
a abouti aux mêmes forfaits étant mis à niveau comme apt-get upgrade
aurait mis à niveau.