[Gvsig_desarrolladores] Problemas durante la generación de un ejecutable basado en gvSIG 2.0.0

Joaquin Jose del Cerro Murciano jjdelcerro en gvsig.org
Vie Mayo 11 10:44:02 CEST 2012


El día 9 de mayo de 2012 08:38, Leticia Riestra Ainsua
<lriestra en lbd.org.es> escribió:
>
> Hola
> Me acabo de dar cuenta, que me confundí y escribí en la lista de bugs, una
> petición de ayuda para generar el ejecutable sobre gvSIG 2.0.0
>
> Si podéis, eliminar el correo de esa lista y contestarme por aquí. Pido
> disculpas por mi equivocación
> Os escribo entonces aquí el contenido el mensaje anterior.
>
> Estoy generando un ejecutable partiendo del código fuente, al que he añadido
> mis propias extensiones. Tengo algunas dudas a la hora de generarlo
>
> 1. Me gustaría añadir mi propio tema (tengo un icono y un splash). Cuando lo
> ejecuto a través del eclipse, me funciona perfectamente (porque ya se donde
> colocarlo y cómo hacer para lanzar la aplicación y que me coja este menú)
> pero cuando genero el ejecutable, no de dónde colocarlo. ¿Dónde lo tengo que
> poner?

En el plugin org.gvsig.app tienes una carpeta "theme", que es la que
lleva esas cosas.
Como se supone que no se debe recompilar gvsig, lo que hace andami al arrancar
es comprobar si algun otro plugin tiene una carpeta theme, y si encuentra uno
lo utiliza como el tema por defecto. Asi que mi consejo seria que en un de tus
plugins añadas una copia de esa carpeta "theme" modificandola como
creas conveniente.

Comenta algo de esto en el apartado "Integrándolo con gvSIG"[3] de la
"Guía de inicio rápido del desarrollador para gvSIG 2.0.0".


"Integrándolo con gvSIG"
[3]http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/developers_quick_start/2-0.0/construyendo-nuestro-primer-proyecto/integrandolo-con-gvsig

>
> 2. A la hora de lanzar el ejecutable utilizo el archivo
> gvSIG-desktop-2.0.0-2045-alpha4-lin-x86-online al que le indico que quiero
> instalar a través de ficheros indicándole mi archivo mypackages.gvspkg.
> Resulta que lo lanzo, selecciono el archivo, me salen seleccionadas todas
> mis extensiones por defecto, pero me sale el siguiente mensaje
>
> Las siguientes dependencias no ha sido posible resolverlas. ¿Quiere
> continuar de todas formas?
> required: es.udc.lbd.giseiel.base -ge 2.0.0-0
> required: es.udc.lbd.giseiel.editing -ge 2.0.0-0
> required: org.gvsig.app.document.table.app.mainplugin -ge 2.0.0-0
>
> ¿Esto es normal? En mi caso la extensión base es la extensión de la cual
> dependen todas y en el caso de no instalarse debería de dar un error, pero
> si ya está seleccionada, no entiendo porque me indica que faltan esos
> proyectos

La dependencia del documento tabla, es debida a un error en el core de gvSIG,
espero que para el proximo build este corregido.
Las otras dos, voy a echarle un vistazo y te comento.

> El fichero defaultPackages.gvspks ya os lo había pasado en un ftp, pero por
> si acaso os vuelvo a indicar el ftp para que podáis consultar su contenido
> Host: atlas.dc.fi.udc.es
> Usuario: gvsig
> Contraseña: %gvsig2012$
>
> ¿Qué se supone que tengo mal o me falta por indicar?
>
> 3. Estoy teniendo problemas con la última parte de la generación del
> instalable, es decir, unir los ficheros de paquetes con el exe del
> instalador.
> Es para windows y lo estoy haciendo desde una máquina virtual de linux (para
> evitar el problema de las librerías)
>
> Basándome en (1), he descargado de (2) el directorio gvspkg.bin.
> He incluido la carpeta gvspkg.bin en mi home con el nombre ".gvspkg.bin", y
> el script gvspkg está en el path
>
> Me sitúó en la carpeta donde tengo el mypackages.gvspks y escribo lo
> siguiente
> gvspkg mkinstall gvSIG-desktop-2.0.0-2045-alpha4-lin-x86-online.bin
> mypackages.gvspks
>
> Tengo el siguiente error:
>
> bash: /home/ubuntu/.gvspkg.bin/gvspkg: /usr/bin/python^M: intérprete
> erróneo: No existe el fichero o el directorio
>

Tienes problemas con los retornos de carro
El fichero "gvspkg" es un script en python, en cuyas primeras lineas
tiene:

#!/usr/bin/python
# -*- coding: utf-8 -*-

La primera linea "#!..." le indica a loader del linux que debe utilizar
un interprete de comando especifico, concretamente "/usr/bin/python".
Cuando intentas ejecutar el fichero "gvspkg", el sistema lee esa linea y
ejecuta lo que dice en ella pasandole como parametro el fichero "gvspkg", y
en condiciones normales, funciona.
Viendo el error que dices que te da:

bash: /home/ubuntu/.gvspkg.bin/gvspkg: /usr/bin/python^M: intérprete
erróneo: No existe el fichero o el directorio

Lo que tiene pinta de estar pasando es que en lugar de tener las lineas
tal como deben estar lo que tienes es:

#!/usr/bin/python^M
# -*- coding: utf-8 -*- ^M

Con lo que el sistema intenta ejecutar el script con el interprete de
comandos "/usr/bin/python^M" , y claro ese fichero no existe.

Este tipo de problema es muy comun entre usuarios de windows que se
aproximan al mundo unix en general.

En sistemas unix-like, el fin de linea biene  marcado con un caracter
de ASCII 10, normalmente representado por la barra invertida y una n.
(no lo pico por paranoia con las barras invertidas ;) ) o muchas
otras veces se visualiza con "^J".

En sistemas msdos y sus deribados, MS Windows, como marca de fin de linea
se utiliza la secuencia de caracteres de ASCII 13 + ASCII 10, normalmente
representados por "/r/n" (con las otras barras, jeje) visualizandose
en muchas ocasiones como "^M^J".

Si cogemos un fichero de texto en formato "^M^J" y lo pasamos a un sistema
unix-like, lo que tenemos es que el fin de linea se interpreta como "^J"
y al final de la linea se queda un caracter "^M" que no sabe muy bien
que hacer con el.
Y de ahi el error que te esta dando.

Tradicional los programas de comunizaciones, ftps, sshs, telnets, y demas se han
desarrollado para sistemas unix-like y luego se han portado a sistemas
windows, y para ebitar estos problemas con los fin de linea algunos programas,
como el ftp, cuando descargan un archivo de texto en formato "^J"  a un
sistema windows hacen la transformacion automatica de los retornos de linea
de un formato al otro... pero no todos los programas lo hacen... con lo
que mi suposicion es que cuando te descargaste el fichero de la web
se hizo conversion de los fin de linea a formato windows y luego cuando
los copiaste al linux no, quedandose unos ficheros con un formato
de fin de linea un incorrecto.

Aunque no es dificil de corregir, te aconsejo que descargues los ficheros
directamente desde el linux, sin pasar por un sistema Windows.

Si quieres editarlos en linux, puedes probar con:

# vim -b gvspkg

para comprobar si realmente hay o no "^M" al final de las lineas.
Y si quieres eliminarlos puedes teclear en la linea de ordenas del
vim:

:%s/^V^M$//

Donde ^V equivale a pulsar la tecla control y la V, que no mostrara nada,
(es la secuancia de escape del vi) y ^M a control y la tecla M.

Esto reemplazara todos los "^M" de fin de linea del fichero por "nada".

Espero que te sirban de algo estos comentarios...
voy a ver si le hecho un vistazo a los paquetes que tienes y everiguo que
le pasa a las dependencias.

Un saludo
Joaquin



> Os adjunto el fichero options y el fichero gvspkg (por si hay algún problema
> de encoding en ellos)
>
> (1) -
> http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/gvsig-devel-guide/2.0.0/trabajar-con-un-proyecto/instalables-en-gvsig/generando-nuestra-distribucion-de-gvsig
> (2) - https://downloads.gvsig.org/download/gvsig-desktop/gvspkg.bin/
>
> ¿Podéis ayudarme con estos 3 problemas?
>
> Muchas gracias de antemano
> Saludos
>
> --
> Leticia Riestra Ainsua
> Laboratorio de Bases de Datos A Coruña
> Tlfono: 981 16 70 00 Ext: 1386
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse
> de baja en esta lista, acuda a la siguiente dirección:
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>

-- 
--------------------------------------
Joaquin Jose del Cerro
Development and software arquitecture manager.
jjdelcerro en gvsig.com
gvSIG Association
www.gvsig.com
www.gvsig.org


Más información sobre la lista de distribución gvSIG_desarrolladores