# Problema com LC_CTYPE LC_MESSAGES LC_ALL [RESOLVIDO]

## gesiel

Reinstalei o Gentoo (2005.0) pq precisava reparticionar o HD (jogar fora o Win).

Estou tendo problemas com as variáveis LC_CTYPE, LC_MESSAGES e LC_ALL.

quando faço o comando locale me aparece a seguinte mensagem:

locale: Cannot set LC_CTYPE to default locale: No such file or directory

locale: Cannot set LC_MESSAGES to default locale: No such file or directory

locale: Cannot set LC_ALL to default locale: No such file or directory

LANG=pt_BR

LC_CTYPE="pt_BR"

LC_NUMERIC="pt_BR"

LC_TIME="pt_BR"

LC_COLLATE="pt_BR"

LC_MONETARY="pt_BR"

LC_MESSAGES="pt_BR"

LC_PAPER="pt_BR"

LC_NAME="pt_BR"

LC_ADDRESS="pt_BR"

LC_TELEPHONE="pt_BR"

LC_MEASUREMENT="pt_BR"

LC_IDENTIFICATION="pt_BR"

LC_ALL=pt_BR

e ao usar o comando locale -a aparece:

locale: Cannot set LC_CTYPE to default locale: No such file or directory

locale: Cannot set LC_MESSAGES to default locale: No such file or directory

locale: Cannot set LC_COLLATE to default locale: No such file or directory

C

POSIX

pt_BR.iso88591

pt_BR.utf8

Não consigo instalar alguns programas, por exemplo o k3b. Logo no prieiro pacote ele dá este erro:

 * Applying mjpegtools-1.6.2-gcc34.patch ...                                              [ ok ]

 * Applying mjpegtools-1.6.2-libquicktime094.patch ...                                 [ ok ]

perl: warning: Setting locale failed.

perl: warning: Please check that your locale settings:

        LANGUAGE = "pt_BR",

        LC_ALL = "pt_BR",

        LANG = "pt_BR"

    are supported and installed on your system.

perl: warning: Falling back to the standard locale ("C").

perl: warning: Setting locale failed.

perl: warning: Please check that your locale settings:

        LANGUAGE = "pt_BR",

        LC_ALL = "pt_BR",

        LANG = "pt_BR"

    are supported and installed on your system.

perl: warning: Falling back to the standard locale ("C").

e repete várias vezes até abortar a instalação. Ao usar o comando locale aparece:

[color=blue] 

Nas instalações anteriores isto não ocorria, inclusive tenho este problema em duas máquinas e na terceira está tudo normal, ou seja, as mensagens do bash, do nano, etc. em português.

coloquei LANG="pt_BR" e LC_ALL="pt_BR" no /etc/02locale, fiz env-update e nada se altera.

o que poderia ser?Last edited by gesiel on Mon Apr 25, 2005 3:00 pm; edited 1 time in total

----------

## Kobal

Nego é teimoso. è sem as """""""

export LC_ALL=pt_BR

export LANG=pt_BR

Coloca so isso no /etc/profile já é o suficiente.

----------

## gesiel

Kobal, tudo bem? Obrigado pelo interesse.

 *Kobal wrote:*   

> Nego é teimoso. è sem as """"""" 

 

e não somos todos?  :Smile: 

 *Kobal wrote:*   

> export LC_ALL=pt_BR
> 
> export LANG=pt_BR

 

já coloquei com aspas, sem aspas, com aspas simples. De qualquer forma que colocar tem o mesmo efeito.

 *Kobal wrote:*   

> Coloca so isso no /etc/profile já é o suficiente.

 

O interessante é que tenho 3 máquinas aqui, todas iguais.

A primeira eu instalei 2004.3 e não tenho feito atualizações. Faço locale e está perfeita. O bash, nano, tudo em português.

A segunda eu atualizei para 2005.0 e emerge --sync, emerge --update --deep --newuse world, emerge --depclean, revdep-rebuild, etc... e passou a dar o problema, e todas as mensagens do bash ficaram em inglês. Se der o comando "locale" as variáveis estão bagunçadas.

A terceira "estava perfeita" pq eu tinha instalado o 2004.3. Reinstalei a máquina para reparticionar, já com 2005.0, portage do dia anterior, fiz  emerge --sync, tudo configurado como manda o manual e como eu já havia feito tantas vezes. E já de cara ficou zebrada.

Pra conferir, entro no LiveCD, faço chroot, etc... faço o "export LANG=pt_BR". O nano e as mensagens ficam em português... tudo ok.

Executo a verificação com "locale" e tudo está perfeito. Após a compilação do system é que a coisa fica bagunçada.

Depois de "novamente" recompilar o system descobri que o "glibc" não está reconhecendo a codificação pt_BR.ISO-8859-1 do locales.build que está assim:

en_US/ISO-8859-1

en_US.UTF-8/UTF-8

de_DE/ISO-8859-1

de_DE@euro/ISO-8859-15

pt_BR.ISO-8859-1

pt_BR.UTF-8/UTF-8

Na hora da compilação ele passa legal por todos e quando chega no pt_BR.ISO-8859-1 acusa um erro, não cria e continua. A partir daí toda vez que dou o comando "locale" o LC_CTYPE, LC_MESSAGES e LC_ALL estão bagunçados.

Dai alguns pacotes dão warnings e outros como o k3b nem instalam.

Pesquisei muito pela internet e não encontrei nada. Acho que é algo relacionado a alguma versão nova do glibc que não "entende" a codificação pt_BR.ISO-8859-1

Não importa se coloco LANG=pt_BR e LC_ALL=pt_BR em /etc/02locale, /etc/profile /root/.profile /root/.bashrc ou digite na linha de comando "export LANG=pt_BR". Com aspas, sem aspas, com aspas simples, dá todo no mesmo pq o glibc "não compilou esta codificação".

Só consigo compilar o resto com as variáveis assim:

export LANG=

export LC_ALL=

----------

## h0b

 *gesiel wrote:*   

>  Acho que é algo relacionado a alguma versão nova do glibc que não "entende" a codificação pt_BR.ISO-8859-1
> 
> 

 

Não é culpa do glibc, a entrada no locales.build está formatada de modo errado, deve ficar assim:

pt_BR/ISO-8859-1

pt_BR.UTF-8/UTF-8

 :Wink: 

----------

## gesiel

h0b, valeu...

 *h0b wrote:*   

> 
> 
> pt_BR/ISO-8859-1
> 
> pt_BR.UTF-8/UTF-8
> ...

 

o que vc falou é coerente, inclusive eu já havia pensado nisto. Só não testei pq estava me baseando na documentação online (guia de instalação):

```
en_US/ISO-8859-1

en_US.UTF-8/UTF-8

de_DE/ISO-8859-1

de_DE@euro/ISO-8859-15

pt_BR.ISO-8859-1

pt_BR.UTF-8/UTF-8
```

E tb pq no computador que está "ok" (2004.3) o locales.build está exatamente com "pt_BR.ISO-8859-1".

Vou tentar e te falo, ok?

----------

## gesiel

h0b, 

cara, era isso mesmo. 

Então a documentação online (guia de instalação) em português está incorreta nesta parte.

Brigadão!!!

update: Reportei o erro do locale e a equipe de tradução já consertou a página.

Ps: Para quem ainda não instalou, a documentação manda fazer emerge --emptytree system. Eu recomendo que não faça assim! Fiz uma vez e demora muuuuuiiiito. Tem o mesmo efeito de emerge system.

----------

## mitsu

noob confuso aqui gente... :Embarassed: 

Eu coloco...

```
export LC_ALL=pt_BR

export LANG=pt_BR
```

...no /etc/profile

Depois coloco...

```
pt_BR/ISO-8859-1

pt_BR.UTF-8/UTF-8 
```

... no /etc/locales.build

Depois, o que eu preciso fazer mesmo?

emerge "alguma-coisa"?

noob perdido agradece qualquer ajuda  :Very Happy: 

edit: ah sim, meu /etc/make.conf tem 

```
LINGUAS="pt_BR"
```

...mas eu nao sei se ta correto...Last edited by mitsu on Fri Mar 24, 2006 5:03 am; edited 1 time in total

----------

## gesiel

Olá mitsu,

é isto mesmo. 

Se vc fez isto "antes" de dar o comando "emerge system", certamente as mensagens do bash e muitos programas que rodam no bash já devem estar em português.

Se vc fez isto "depois" de dar o comando "emerge system", suas mensagens do bash continuam em inglês. Para resolver, basta dar o comando "emerge glibc"... ele vai recompilar o básico e criar as mensagens em português pra vc.

um abraço.

----------

## mitsu

[RESOLVIDO - O Retorno]

valeeeu !

----------

## Gotterdammerung

Estou tendo esse mesmo problema aqui. Vou fazer como o mitsu, e ver qual é. Instalar o sistema sem seguir o manual dá nisso...

----------

