viernes, marzo 20, 2009

Arreglando locale en Ubuntu 8.10 Intrepid

En una nueva instalación del Ubuntu Intrepid, en su versión a 64 bits, batallé dos días para arreglar el problema con el locale, principalmente con perl.

El mensaje era el siguiente:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

Intenté de varias formas arreglar el locale con:

# locale-gen en_US.UTF-8
# update-locale en_US.UTF-8
# update-locale-config en_US.UTF-8

Ajustando la configuración de "/etc/environment":
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANGUAGE="en_US:en"
LANG="en_US.UTF-8"


y la configuración de "/etc/default/locale":
LANG=en_US.UTF-8

Pero el error seguía, en mi estación también tengo el Intrepid instalado pero en su versión de 32 bits, y llegué a pensar que el problema venía en los paquetes de 64 bits.

Buscando en google nunca dí con una solución clara al problema y entonces decidí buscar sin especificar la distribución de linuz, para obtener resultados más genéricos y encontré la línea que me ayudó a resolver el problema.

# localedef --no-archive -i en_US -c -f UTF-8 en_US.UTF-8

y después las subsecuentes...

# locale-gen en_US.UTF-8
# update-locale en_US.UTF-8
# update-locale-config en_US.UTF-8

y problema resuelto.

Lo copio aquí para próximas instalaciones.