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.

martes, febrero 24, 2009

MyEclipse 7.0 y Visual HTML Designer

Es necesario de vez en cuando editar HTML y en Linux a la fecha no hay un editor decente, para mi. Sé que existen y he usado el Quanta+ y el difunto NVU, pero ninguno de los dos se compara con el Dreamweaver.

Entonces escribo código en Linux y luego hago los arreglos cosméticos en la Mac.

MyEclipse, es la herramienta de desarrollo que más utilizo ahora, tiene un editor decente de html con preview, pero desde hace años sigue en modo "experimental" que es una forma de cubrirse por si tiene algún error.

Lo puedo activar agregando al laucher -Dlinux.experimental=true

En MyEclipse 7.0, se agrega al final de
~/Genuitec/MyEclipse 7.0/myeclipse.ini

Quedando mi configuración así:
-startup
../Common/plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar
--launcher.library
../Common/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.0.101.R34x_v20080805
-clean
-configuration
/home/pablito/Genuitec/MyEclipse 7.0/configuration
-vm
/home/pablito/Genuitec/Common/binary/com.sun.java.jre.linux.x86_1.5.0.011/bin/java
-vmargs
-Xms256M
-Xmx512M
-XX:PermSize=128M
-XX:MaxPermSize=256M
-Dlinux.experimental=true

No olvidar instalar la librería libstdc++5 de lo contrario MyEclipse no arrancará arrojando un error poco claro.

viernes, enero 09, 2009

Hibernate Annotations y DELETE_ORPHAN

DELETE_ORPHAN aún no es soportado por JPA, pero es una opción muy útil cuando manejamos colecciones.

Afortunadamente Hibernate 3+ tiene esta opción.

Agregamos "@OneToMany(cascade=CascadeType.ALL)" pero esta cascada no incluirá el borrado de registros huérfanos que después de algún tiempo se pueden aglutinar en la base de datos.

        @OneToMany(cascade=CascadeType.ALL)
        @Cascade({org.hibernate.annotations.CascadeType.DELETE_ORPHAN})
        public List<BillDetails> getBillDetails() {
                return billDetails;
        }