xalvar
27.03.05, 10:58
Hallo Leute,
beim Installieren von so manchen Programmen erhalte ich folgende Warnung
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
Nach ein bissel Suchen bin ich natürlich darauf gestoßen dpkg-reconfigure locales und locale-gen auszuführen. Beide laufen auch ohne Fehlermeldung durch:
# locale-gen
Generating locales...
de_DE.ISO-8859-15@euro... done
de_DE.ISO-8859-1... done
de_DE.UTF-8@euro... done
de_DE.UTF-8... done
en_GB.ISO-8859-1... done
en_GB.ISO-8859-15... done
en_GB.UTF-8... done
Generation complete.
Jedoch ändert sich nichts an den Warnungen. Nach einer Erklärung zu den locales, die ich fand, ruft locale-gen "localedef" auf, welches eine locales Datei wie "de_DE" mit einer Charmap wie ISO-8859-15 übersetzt und ein Verzeichnis in /usr/share/locale anlegt. Nun, obwohl ich sowohl Charmaps als auch loceles-Dateien habe werden eben diese Verzeichnisse nicht angelegt:
# ls -l /usr/share/locale/
...
drwxr-xr-x 4 root root 4096 2005-03-18 15:46 de
drwxr-xr-x 3 root root 4096 2005-03-04 14:34 de_AT
drwxr-xr-x 3 root root 4096 2005-03-04 15:04 de.UTF-8
...
Dort müssten sich eigentlich auch de_DE Verzeichnisse befinden. Ein testweiser manueller Aufruf von localedef bringt etwas Licht ins Dunkel:
# localedef -v -f ISO-8859-15 -i de_DE de_TEST
/usr/share/i18n/locales/de_DE:7: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE:8: non-symbolic character value should not be used
...
/usr/share/i18n/locales/de_DE:29: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE:34: non-symbolic character value should not be used
/usr/share/i18n/locales/i18n:1107: non-symbolic character value should not be used
...
/usr/share/i18n/locales/i18n:1373: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE:38: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE:67: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:10: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:11: 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: Feld »name_gen« ist nicht definiert
LC_IDENTIFICATION: Feld »audience« ist nicht definiert
LC_IDENTIFICATION: Feld »application« ist nicht definiert
LC_IDENTIFICATION: Feld »abbreviation« ist nicht definiert
LC_IDENTIFICATION: no identification for category `LC_MEASUREMENT'
Es wurde keine Ausgabedatei erzeugt, weil Warnungen ausgegeben wurden
Das passiert bei allen Charmap-locales Kombinationen, die ich ausprobiert habe. Soweit ich das überprüfen konnte, scheinen die locales-Dateien standardkonform zu sein.
Witzigerweise scheint ein Teil meines Systems deutsch zu sein, sprich einige man-pages sind z.B. deutsch (sie auch obige Ausgabe von localedef). Hat einer eine Idee, wo das Problem liegen könnte?
Gruß, xalvar
PS: Mein System läuft mit Debian Sarge 2.6.8
beim Installieren von so manchen Programmen erhalte ich folgende Warnung
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
Nach ein bissel Suchen bin ich natürlich darauf gestoßen dpkg-reconfigure locales und locale-gen auszuführen. Beide laufen auch ohne Fehlermeldung durch:
# locale-gen
Generating locales...
de_DE.ISO-8859-15@euro... done
de_DE.ISO-8859-1... done
de_DE.UTF-8@euro... done
de_DE.UTF-8... done
en_GB.ISO-8859-1... done
en_GB.ISO-8859-15... done
en_GB.UTF-8... done
Generation complete.
Jedoch ändert sich nichts an den Warnungen. Nach einer Erklärung zu den locales, die ich fand, ruft locale-gen "localedef" auf, welches eine locales Datei wie "de_DE" mit einer Charmap wie ISO-8859-15 übersetzt und ein Verzeichnis in /usr/share/locale anlegt. Nun, obwohl ich sowohl Charmaps als auch loceles-Dateien habe werden eben diese Verzeichnisse nicht angelegt:
# ls -l /usr/share/locale/
...
drwxr-xr-x 4 root root 4096 2005-03-18 15:46 de
drwxr-xr-x 3 root root 4096 2005-03-04 14:34 de_AT
drwxr-xr-x 3 root root 4096 2005-03-04 15:04 de.UTF-8
...
Dort müssten sich eigentlich auch de_DE Verzeichnisse befinden. Ein testweiser manueller Aufruf von localedef bringt etwas Licht ins Dunkel:
# localedef -v -f ISO-8859-15 -i de_DE de_TEST
/usr/share/i18n/locales/de_DE:7: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE:8: non-symbolic character value should not be used
...
/usr/share/i18n/locales/de_DE:29: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE:34: non-symbolic character value should not be used
/usr/share/i18n/locales/i18n:1107: non-symbolic character value should not be used
...
/usr/share/i18n/locales/i18n:1373: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE:38: non-symbolic character value should not be used
/usr/share/i18n/locales/de_DE:67: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:10: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:11: 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: Feld »name_gen« ist nicht definiert
LC_IDENTIFICATION: Feld »audience« ist nicht definiert
LC_IDENTIFICATION: Feld »application« ist nicht definiert
LC_IDENTIFICATION: Feld »abbreviation« ist nicht definiert
LC_IDENTIFICATION: no identification for category `LC_MEASUREMENT'
Es wurde keine Ausgabedatei erzeugt, weil Warnungen ausgegeben wurden
Das passiert bei allen Charmap-locales Kombinationen, die ich ausprobiert habe. Soweit ich das überprüfen konnte, scheinen die locales-Dateien standardkonform zu sein.
Witzigerweise scheint ein Teil meines Systems deutsch zu sein, sprich einige man-pages sind z.B. deutsch (sie auch obige Ausgabe von localedef). Hat einer eine Idee, wo das Problem liegen könnte?
Gruß, xalvar
PS: Mein System läuft mit Debian Sarge 2.6.8