[Jde-dev] Probando los paquetes .deb para Lenny

Juan Gonzalez Gomez juan en iearobotics.com
Mie Abr 1 09:50:48 CEST 2009


Hola,

El mar, 31-03-2009 a las 22:40 +0200, JoseMaria escribió:
> ufff, sí es feo, sí.... 

Ya os avisé en la reunión de las pizzas de que tengo una habilidad
especial para que me aparezcan bugs feos y extraños ;-)

> Hasta donde sé, esto afecta exclusivamente a
> Gazebo, que no es poco. De hecho a nuestra versión de gazebo, la 0.7,
> que no funciona con ode-0.8, ni con la ode-0.10 (lo probé hace unos
> meses). Sólo funciona con la ode-0.7, y ésta es incompatible con la
> ode-0.9 que viene en los paquetes Debian (libode0debian1). Imagino que
> la dependencia de jderobot-drivers viene por el driver de gazebo, que
> necesita de gazebo, que necesita de ode. 

Sí, las dependencias son debidas a Gazebo. Como este sólo funciona con
la ode-0.7, podemos probar las soluciones 3 y 4.

> Aunque rompe la idea de que con un simple apt-get "se autoinstala todo
> lo necesario" miro con buenos ojos la opción (3), por las razones que
> comentas, Juan. 

Si se aplica la opción 3, en el manual de jde habría que decir que la
instalación completa se hace con "apt-get install jderobot
gazebo" (siempre y cuando no esté instalada la libode0-dev, pero esto es
raro).

> Igual se puede explorar también otra opción híbrida (4): ¿La
> incompatibilidad se detecta al ver que ambos paquetes (jderobot-4.3.0 y
> libode0debian1) tratan de escribir archivos con los mismos nombres en
> los directorios estandard? ¿Se podrían instalar las bibliotecas de
> ode-0.7 en un directorio propio de jderobot para que nuestro gazebo-0.7
> (y sólo él) tire de ellas? 

Esta es una muy buena solución. Se puede hacer que ode-0.7 se instale
bajo el /usr/local, en lugar de los directorios estandard. Los
conflictos de instalación desaparecerán.

> Al compilar buscaría ahí las cabeceras y al
> enlazar, generar el ejecutable de gazebo enlazado ESTATICAMENTE contra
> nuestra ode-0.7 propia. Al estar "ocultas" en un directorio de jderobot
> nadie de fuera tomaría esas cabeceras ni enlazaría con esas bibliotecas.
> De hecho las bibliotecas dinámicas de ode-0.7 no haría falta ni
> generarlas...

De hecho, si gazebo se compila estáticamente, no haría falta ni instalar
el paquete ode-0.7.

  Lo bueno del ode es que en realidad sólo es una librería: libode.so
(para enlace dinámico) y libode.a para estático. 
 
> No deja de ser una ñapa, pero bueno. ¿Cómo lo veis?

A mí es la solución que más me gusta. Los cambios que habría que hacer
serían:

  -> En la creación del paquete de Gazebo compilarlo estáticamente
contra la librería libode.a (version 0.7)
  -> Eliminar dependencia de Gazebo con paquete ode-0.7
  -> Eliminar dependencia de jderobot-drivers con paquete ode-0.7
  -> Eliminar paquete ode-0.7 del repositorio

Saludos, Juan

-- 
Juan Gonzalez Gomez
Blog: http://www.iearobotics.com/blog/ 
Web : http://www.iearobotics.com/juan



More information about the Jde-developers mailing list