Probleme mit locales

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
chschulo
Beiträge: 29
Registriert: 16.02.2005 10:06:59
Wohnort: Sankt Augustin

Probleme mit locales

Beitrag von chschulo » 27.02.2005 19:48:40

Hallo zusammen,
ich habe mein Debian Sarge mit KDE und Gnome installiert, funktioniert alles sehr gut soweit. Bei dem Versuch neue Software zu installieren kamm folgendes Problem auf:

Code: Alles auswählen

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "de_DE:de:en_GB:en",
 LC_ALL = "de",
 LANG = "de_DE@euro"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
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
Daraufhin habe das Forum bemüht um mich mal schlau zu machen.
Habe auch was gefunden, doch geholfen hat es leider nicht.

Ich habe den Befehl

Code: Alles auswählen

dpkg-reconfigure locales
aufgerufen und die beiden entsprechenden Sprachen gewählt.
Danach habe ich

Code: Alles auswählen

locale
aufgerufen und folgendes zurück bekommen.

Code: Alles auswählen

LANG=de_DE@euro
LC_CTYPE="de_DE@euro"
LC_NUMERIC="de_DE@euro"
LC_TIME="de_DE@euro"
LC_COLLATE="de_DE@euro"
LC_MONETARY="de_DE@euro"
LC_MESSAGES="de_DE@euro"
LC_PAPER="de_DE@euro"
LC_NAME="de_DE@euro"
LC_ADDRESS="de_DE@euro"
LC_TELEPHONE="de_DE@euro"
LC_MEASUREMENT="de_DE@euro"
LC_IDENTIFICATION="de_DE@euro"
LC_ALL=
Zu guter letzt habe ich Perl neu installiert und die ganze Prozedur wiederholt, hat alles nix gebracht.

Bin für jede Hilfe dankbar.

Gruß
Christian

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 27.02.2005 19:56:28

poste bitte einmal die Ausgabe folgender Kommandos:

Code: Alles auswählen

debconf-get-selections | grep ^locales
cat /etc/locale.gen
falls beide de_DE@euro enthalten, versuche einmal die locales mit dem Kommando "locale-gen" manuell zu generieren

chschulo
Beiträge: 29
Registriert: 16.02.2005 10:06:59
Wohnort: Sankt Augustin

Beitrag von chschulo » 28.02.2005 08:51:01

Hi gms,
nun bin ich echt baff ...
Der Befehl

Code: Alles auswählen

debconf-get-selections
ist auf meinem System nicht vorhanden.
Also dachte ich mir, suche ich mal das passende Paket. Doch habe ich keines gefunden. Was muss ich installiert haben um den Befehl ausführen zu können?

Aber das Ergebniss von dem Befehl

Code: Alles auswählen

cat /etc/locale.gen habe ich hier:
[code]de_DE@euro ISO-8859-15

#de_DE ISO-8859-1
#de_DE.UTF-8@euro UTF-8
#de_DE.UTF-8 UTF-8

en_GB ISO-8859-1
Gruß
Christian

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 28.02.2005 11:24:04

debconf-get-selections gehört zum Paket debconf-utils.

Code: Alles auswählen

root:~# dlocate debconf-get-selections
debconf-utils: /usr/bin/debconf-get-selections
Sorry, ich dachte dieses Paket muß installiert sein, stimmt aber nicht:

rufe einmal "locale-gen" auf und beobachte welche Einstellungen generiert werden

chschulo
Beiträge: 29
Registriert: 16.02.2005 10:06:59
Wohnort: Sankt Augustin

Beitrag von chschulo » 28.02.2005 12:13:09

Habe das Paket installiert und kann Dir nun die entsprechenden Listings geben.

Code: Alles auswählen

debconf-get-selecetions | grep ^locales
ergibt folgendes:

Code: Alles auswählen

locales locales/default_environment_locale select de_DE@euro
locales locales/locales_to_be_generated multiselect de_DE@euro ISO-8859-15, en_GB ISO-8859-1

Code: Alles auswählen

locale-gen
ergibt folgendes:

Code: Alles auswählen

Generating locales...
  de_DE.ISO-8859-15@euro... done
  en_GB.ISO-8859-1... done
Generation complete.
Hoffentlich hilft Dir das etwas weiter.

Gruß
Christian

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 28.02.2005 13:46:02

chschulo hat geschrieben:

Code: Alles auswählen

locale-gen
ergibt folgendes:

Code: Alles auswählen

Generating locales...
  de_DE.ISO-8859-15@euro... done
  en_GB.ISO-8859-1... done
Generation complete.
Hoffentlich hilft Dir das etwas weiter.
es sollte Dir weiter helfen :)
Die locales sollten jetzt generiert sein, Probier einmal ob obiger Fehler noch immer kommt

Gruß
gms

chschulo
Beiträge: 29
Registriert: 16.02.2005 10:06:59
Wohnort: Sankt Augustin

Beitrag von chschulo » 28.02.2005 18:30:30

hi,
leider ist der Fehler immer noch da.
Aber ich kann auch sonst keinen Fehler feststellen, soll heißen die Software läuft rund. Sollte ich diese Meldungen einfach überlesen?
Das einzige wo es wirklich stört ist bei KOffice das bekomme ich nur in Englisch installiert, egal ob ich das deutsche Languagepack mit installiere oder nicht.

Gruß
Christian

Benutzeravatar
cray
Beiträge: 112
Registriert: 27.05.2002 01:39:01
Kontaktdaten:

Beitrag von cray » 06.09.2005 08:14:08

Hallo Christian konntest du dein Problem irgendwie lösen

denn ich habe genau das gleiche Problem bei mir half bisher garnichts weder debconf noch dpkg-reconfigure locales usw. ich hab keine ahnung was das noch sein könnte.

gruß robert
[mailto: rt@debian.sh]
http://www.debian.sh

Value your freedom, or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn.

Richard Stallman

chschulo
Beiträge: 29
Registriert: 16.02.2005 10:06:59
Wohnort: Sankt Augustin

Beitrag von chschulo » 07.09.2005 12:10:41

Hi,
also ich habe den Fehler einfach umgangen. Dieser Fehler ist immer nur aufgetreten wenn ich die Graphischeoberfläche verwendet habe.
Also seit diesem Zeitpunkt mache ich alles mit apt auf der Konsole, dort kommt der Fehler nicht mehr!
Also als Lösung würde ich das nicht ansehen ... :-)

xcomse
Beiträge: 10
Registriert: 14.11.2005 16:56:31

Beitrag von xcomse » 09.01.2006 17:48:51

Hej zusammen,

ich habe ein aehnliches Problem. Ich bekomme diese Fehler einfach nicht weg, egal, was ich anstelle:

Code: Alles auswählen

ams100:/# locale
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
Was fehlt ihm denn hier? Kann ich das per Hand anlegen?



Viele Gruesse
Andreas

holmes
Beiträge: 96
Registriert: 30.09.2002 10:47:25
Wohnort: Niedersachsen

Beitrag von holmes » 22.01.2006 19:02:55

Hallo Andreas und andere,

Ich krieg die gleiche Fehlermeldung.

Code: Alles auswählen

No such file or directory
Da muß doch irgendein file fehlen!?!:?:
Ich hab schon dutzendmal locale-gen aufgerufen, und sogar locales gepurged und danach wieder installiert.

Hat aber auch nichts gebracht.

Falls jemand die files kennt, und weis, wie man sie installiert, wäre ich für eine Info sehr dankbar.

Gruß Holmes

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Beitrag von novalix » 22.01.2006 19:12:35

hi,

versuch mal

Code: Alles auswählen

dpkg-reconfigure localeconf
viel erfolg, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

holmes
Beiträge: 96
Registriert: 30.09.2002 10:47:25
Wohnort: Niedersachsen

Beitrag von holmes » 24.01.2006 20:52:49

Hallo @ all,
Hallo Niels,

ich hab mal testweise die Datei locale-gen um ein -v bei dem aufruf von localeconf ergänzt
hier sind die Fehlermeldungen:

Code: Alles auswählen

de_DE.ISO-8859-15@euro.../usr/share/i18n/locales/de_DE@euro:7: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE@euro:8: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE@euro:9: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE@euro:11: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE@euro:14: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE@euro:15: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE@euro:16: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE@euro:17: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE@euro:19: non-symbolic character v
...
schnipp
...
/usr/share/i18n/locales/translit_neutral:16: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:17: non-symbolic character value should not be used
LC_NAME: field `name_gen' not defined
LC_IDENTIFICATION: field `audience' not defined
LC_IDENTIFICATION: field `application' not defined
LC_IDENTIFICATION: field `abbreviation' not defined
LC_IDENTIFICATION: no identification for category `LC_MEASUREMENT'
LC_CTYPE: table for class "upper": 1564 bytes
LC_CTYPE: table for class "lower": 1564 bytes
LC_CTYPE: table for class "alpha": 3616 bytes
LC_CTYPE: table for class "digit": 600 bytes
LC_CTYPE: table for class "xdigit": 600 bytes
LC_CTYPE: table for class "space": 792 bytes
LC_CTYPE: table for class "print": 5144 bytes
LC_CTYPE: table for class "graph": 5144 bytes
LC_CTYPE: table for class "blank": 792 bytes
LC_CTYPE: table for class "cntrl": 664 bytes
LC_CTYPE: table for class "punct": 4120 bytes
LC_CTYPE: table for class "alnum": 3616 bytes
LC_CTYPE: table for class "combining": 2076 bytes
LC_CTYPE: table for class "combining_level3": 2076 bytes           
was soll das jetzt bedeuen?
Sind jetzt alle Dateien unter /usr/share/i18n/locales/ kaputt? Sie haben alle ein datum von 2005 und sind menschen-lesbar.

Gruß Holmes

holmes
Beiträge: 96
Registriert: 30.09.2002 10:47:25
Wohnort: Niedersachsen

Beitrag von holmes » 29.01.2006 09:17:39

Moin,

ist natürlich Quatsch! Ich hab den Aufruf von localedef mit einem "v" versehen, und erhielt die Fehlermeldungen. Scheint aber nicht trageisch zu sein, bei woody werden die gleichen fehlermeldungen ausgegeben.

Bin leider mit dem Problem kein Stück weiter gekommen.

nochmal zu den fehlenden Files: wenn ich wüsste, wie die heissen, wäre ich schon ein stück weiter.
Ich erinnere mich daran, dass mal was von einem Programm gehört hab, dass alle Aktionen eines anderen Programms protokolliert. Vielleicht könnte das auch anzeigen, wonach locales sucht.

Wie heist das nochmal? Aber dafür mache ich am einen neuen thread unter programm gesucht auf.

Danke für Hinweise

Gruß Holmes

holmes
Beiträge: 96
Registriert: 30.09.2002 10:47:25
Wohnort: Niedersachsen

Problem gelöst

Beitrag von holmes » 19.02.2006 12:37:38

Problem gelöst, allerdings auf eine so schmutzige Art und Weise, dass ich
mir nicht vorstellen kann, dass das im Sinne der Erfinder ist.

Problem war, dass die Programme locale, perl und man sich über eine fehlende
locale-Definition beschwerten, und darüber, dass Files fehlen würden.

Ich hab daraufhin mal angetestet:

Code: Alles auswählen

holmes@sarge:~$ strace -e open locale
...
open("/usr/lib/locale/de_DE@euro /LC_CTYPE", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib/locale/de@euro /LC_CTYPE", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib/locale/de_DE/LC_CTYPE", O_RDONLY) = -1 ENOENT (No such
file or directory)
...
In der Tat war unter /usr/lib/locale nur das file "locale-archive" zu finden.
sonst nichts.

Ich hab dann mal bei woody nachgesehen:
Dort ist unter /usr/lib/locale das Verzeichnis de_DE@euro zu finden:

Code: Alles auswählen

holmes@woody:~$ ls /usr/lib/locale/de_DE@euro/
LC_ADDRESS  LC_IDENTIFICATION  LC_MONETARY  LC_PAPER
LC_COLLATE  LC_MEASUREMENT     LC_NAME      LC_TELEPHONE
LC_CTYPE    LC_MESSAGES        LC_NUMERIC   LC_TIME
und

Code: Alles auswählen

holmes@woody:~$ strace -e open locale
...
open("/usr/lib/locale/de_DE+euro/LC_CTYPE", O_RDONLY) = -1 ENOENT (No such
file
or directory)
open("/usr/lib/locale/de_DE@euro/LC_CTYPE", O_RDONLY) = 3
...
Daraufhin hab ich das Verzeichnis woody:/usr/lib/locale/de_DE@euro nach
sarge:/usr/lib/locale/de_DE kopiert. (scp sei Dank ;-))

dann klappte das mit "locales" auch unter Sarge.


Was bedeutet das?

1) locale-gen, localeconf etc. erzeugen unter Sarge nicht die locales.
2) der open-aufruf in den genannten Programmen ist falsch.
Selbstverständlich kann unter /usr/lib/locale/de_DE@euro /LC_CTYPE
(mit einem Leerzeichen)
keine Datei zu finden sein.

Ist das ein Bug in Sarge? Immerhin haben schon mehrere Forum-Mitglieder
dieses Problem gehabt. :(

Wie stellen sich die Experten dazu?

Gruß Holmes

StenRHRO
Beiträge: 27
Registriert: 17.02.2006 09:51:42

Beitrag von StenRHRO » 07.03.2006 13:24:53

das scheint wirklich nen bug zu sein, denke ich zumindest mal, weil ich genau das gleiche problem hab nur mit de_DE.UTF-8... ich kann machen was ich will, aber bekomme nix ordentliches gebacken... hat da jetzt mal jemand nen statement zu, würde mich einfach mal interessieren...

Benutzeravatar
return13
Beiträge: 15
Registriert: 09.05.2006 22:02:54
Wohnort: 51° 9' n. Br. 7° 21' ö. L.
Kontaktdaten:

Beitrag von return13 » 10.05.2006 22:31:25

oh man.... mehrere Monate vergangen und der fehler ist immer noch da...
Und da sagt man das opensource fehler schneller verbessert....

ich weiss das er noch da ist da ich ihn selber gerad hab...

Edit:
Hier ne Loesung fuer die die nicht 2 Systeme habe...
deinstalliert locales und installiert stattdessen belocs-locales-data und seine abhaengigkeiten...
Wer recht erkennen will, muß zuvor in richtiger Weise gezweifelt haben.
Aristoteles (384-322), griech. Philosoph, Begründer d. abendländ. Philosophie

holmes
Beiträge: 96
Registriert: 30.09.2002 10:47:25
Wohnort: Niedersachsen

Beitrag von holmes » 11.05.2006 17:13:14

Hallo return13, StenRHRO und alle anderen,

wenigstens bei mir hat sich das alles in Wohlgefallen aufgelöst.
siehe auch:
http://www.debianforum.de/forum/viewtopic.php?t=64746

Ich hab inzwischen auf einer neuen Platte sarge neu installiert, und mit den locales keine Probleme gehabt.

Also kein Bug!



Gruß Holmes

Benutzeravatar
return13
Beiträge: 15
Registriert: 09.05.2006 22:02:54
Wohnort: 51° 9' n. Br. 7° 21' ö. L.
Kontaktdaten:

Beitrag von return13 » 11.05.2006 22:23:27

hallo holmes!

Eigentlich gings ja nicht darum das sie (dir programme deutsch können sollen... das konnten sie auch schon vorher... vielmehr ging es darum auf utf-8 umzusteigen... UTF-8 ist ne wunderbare erfindung wenn es jeder benutzen würde, und das ich es nicht benutzen kann, ob wohl ich es will, nur bedauerlich...
Wer recht erkennen will, muß zuvor in richtiger Weise gezweifelt haben.
Aristoteles (384-322), griech. Philosoph, Begründer d. abendländ. Philosophie

holmes
Beiträge: 96
Registriert: 30.09.2002 10:47:25
Wohnort: Niedersachsen

Beitrag von holmes » 12.05.2006 14:25:29

Moin return,

also, wenn ich dpkg-reconfigure locales eintippe, erhalte ich neben

Code: Alles auswählen

de_DE@euro ISO-8859-15
(meine Wahl)
auch noch folgende Auswahlmöglichkeiten

Code: Alles auswählen

de_DE.UTF-8@euro UTF-8 
de_DE.UTF-8 UTF-8
Ich bin davon überzeugt, dass auch diese locale korrekt gebildet würden, wenn ich sie auswählen würde.
Tu ich aber nicht.

Was ist eigentlich so wunderbar an UTF 8, und worin unterscheidet sie sich von ISO 8859-15? Würd mich mal interessieren. Vielleicht wäre das für mich ebenfalls ein Grund, umzusteigen.

Bis dahen denke ich, wir sind beide zufrieden, und weiterer Handlungsbedarf besteht nicht.

Aber über eine Antwort würde ich mich freuen.

Gruß Holmes

Edit by Snoopy:
Code-Tags für die Leserlichkeit eingefügt.

Benutzeravatar
return13
Beiträge: 15
Registriert: 09.05.2006 22:02:54
Wohnort: 51° 9' n. Br. 7° 21' ö. L.
Kontaktdaten:

Beitrag von return13 » 13.05.2006 20:37:42

Das auswahlmenü hab ich auch, und trotzdem funktionierts nicht...

Nun zu utf8 und was es so toll macht:

hier erstmal das wichtigeste aus wikipedia dazu:

Code: Alles auswählen

UTF-8 (Abk. für 8-bit Unicode Transformation Format) ist die verbreitetste Kodierung für Unicode-Zeichen. Damit werden die meisten Alphabete und Schriftzeichensysteme umfasst, die weltweit derzeit genutzt werden, also nicht nur die lateinischen Buchstaben und arabischen Zahlen, sondern zum Beispiel auch die arabische, griechische, kyrillische, koreanische oder thaUTF-8 (Abk. für 8-bit Unicode Transformation Format) ist die verbreitetste Kodierung für Unicode-Zeichen. Damit werden die meisten Alphabete und Schriftzeichensysteme umfasst, die weltweit derzeit genutzt werden, also nicht nur die lateinischen Buchstaben und arabischen Zahlen, sondern zum Beispiel auch die arabische, griechische, kyrillische, koreanische oder thailändische Schrift. Dabei wird jedem Unicode-Zeichen eine speziell kodierte Bytekette von variabler Länge zugeordnet. UTF-8 unterstützt bis zu 4 Byte, auf die sich wie bei allen UTF-Formaten alle 1.114.112 Unicode-Zeichen abbilden lassen.

UTF-8 ist gegenwärtig als RFC 3629 standardisiert (UTF-8, a transformation format of ISO 10646). Dieser Standard löst das ältere RFC 2279 ab.iländische Schrift. Dabei wird jedem Unicode-Zeichen eine speziell kodierte Bytekette von variabler Länge zugeordnet. UTF-8 unterstützt bis zu 4 Byte, auf die sich wie bei allen UTF-Formaten alle 1.114.112 Unicode-Zeichen abbilden lassen.

UTF-8 ist gegenwärtig als RFC 3629 standardisiert (UTF-8, a transformation format of ISO 10646). Dieser Standard löst das ältere RFC 2279 ab.
Heisst konkret: Würd jeder UTF-8 benutzen, hätte fast niemand schwierigkeiten mit irgendwelchen sonderzeichen einer Sprache...
Außerdem steigt mit dem wachsen der UTF-8 Anhänger natürlich auch die kompatibilität von Programmen, da die Entwickler sich dem anpassen werden... Wobei es die gängisten Programme mitlerweile unterstützen.
Kurz: UTF-8 ist der Standart der Zukunft den meiner Meinung nach jeder vernünftige Mensch unterstützen sollte
Wer recht erkennen will, muß zuvor in richtiger Weise gezweifelt haben.
Aristoteles (384-322), griech. Philosoph, Begründer d. abendländ. Philosophie

Funstyler
Beiträge: 1
Registriert: 12.06.2006 17:25:58

Beitrag von Funstyler » 12.06.2006 20:00:36

Also ich hatte das gleiche problem, sage aber gleich dazu ich habe keinen plan von linux.

ich habe einfach die fehlermeldung missachtet und ein

Code: Alles auswählen

apt-get dist-upgrade
laufen lassen, mit allem was er installiueren wollte.

Danach konnte ich

Code: Alles auswählen

apt-get install locales
wieder ausführen.

Und konnte das system auf

Code: Alles auswählen

de_DE@euro
einstellen.

Ich garantiere aber für nichts wollte halt nur sagen wie ich es hinbekommen habe. :)

Edit by Snoopy:
Code-Tags für die Leserlichkeit eingefügt.

Antworten