O cabeçalho da biblioteca padrão do Arch Linux c ++ não é válido UTF-8

1

Estou recebendo um erro bastante confuso quando tento compilar programas usando g ++ e clang no Arch Linux. O menor programa que produz o erro é

#include <locale>
int main()
{
    return 0;
}

Se eu não incluir locale , o erro desaparece. (Eu encontrei isso originalmente ao compilar um programa que incluía iomanip , que inclui locale .)

Salvei as mensagens de erro nos arquivos referentes a clang e g++ ; esses são vários megabytes grandes, então não vou copiá-los aqui. Há muitos avisos sobre "caractere nulo ignorado" e recebo um aviso do programa /usr/bin/locale de que algum arquivo de origem não é válido UTF-8.

Meu idioma está definido como en_US.UTF-8 . Esta é a saída de locale :

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Eu tentei definir LC_ALL ; reinstalando binutils e coreutils; definindo a localidade novamente com localectl; tudo sem efeito.

    
por korrok 11.11.2016 / 01:36

0 respostas