[Jderobot] compilacion multicore para jderobot

Roberto Calvo rocapal en gsyc.urjc.es
Lun Oct 7 16:05:10 CEST 2013


El lun, 07-10-2013 a las 15:34 +0200, franciscomiguel.rivas en urjc.es
escribió:
> Buenas,
> me pongo con ello. Se supone que cmake lo busca dentro del propio  
> proyecto, con los add_library que hayan definidos en los cmakes de  
> todo el proyecto.
> 
> La referencia directa al .so no es lo "bonito". De hecho hay librerías  
> que lo hacen bien como geometry que ya estaban bien puestas todas las  
> interdependencias.

Si si, lo del ".so" nos lo tenemos que cepillar!

> 
> Acabo de hacer la prueba de borrar mi instalación de jderobot y me  
> compila todo de las dos formas.
> 
> 
> ¿ejecutaste el ./clean_repository igual hay alguna caché de cmake que  
> está haciendo que falle?

Si, siempre lo pruebo desde un repo nuevo recien bajado. Te cuento lo
que me pasa.

Lo primero es que he tenido que añadir unas cuantas libs más a los CMAKE
porque se queja a la hora de linkar (y con razón) lo que no sé es porque
antes no pasada, o porque en ubuntu no lo pide.

progeo y openniServer -> ${LIBXML2_LIBRARIES}
rgbdManualCalibrator -> ${CMAKE_THREAD_LIBS_INIT}

Supongo que en un ubuntu linkará automáticamente o hará algo así, porque
sino no lo entiendo.

El caso es que después de hacer esto me compila todo bien la primera
vez. Pero si luego modifico cualquier cmake o código y vuelvo a compilar
me sale esto:

vuelvo a compilar y lanzar el make es cuando me salta esto:

Scanning dependencies of target kinectViewer
Linking CXX executable kinectViewer
/usr/bin/ld: no se puede encontrar -lJderobotInterfaces
/usr/bin/ld: no se puede encontrar -lJderobotInterfaces
collect2: ld returned 1 exit status

Y no es solo por ese componente, me sale en todos. ¿Puede ser que en la
segunda compilación no necesite entrar en ciertas carpetas de libs y no
se generen algunas variables correctamente?

> 
> 
> Un saludo,
> Fran.
> 
> 
> 
> "Roberto Calvo" <rocapal en gsyc.urjc.es> escribió:
> 
> >
> > Hola!
> >
> > Lo he probado y falla a la hora de linkar porque creo que está puesto
> > para tener instaladas las librerías en el sistema en vez de pillarlas
> > del directorio de compilación
> >
> > Linking CXX executable basic_component
> > /usr/bin/ld: no se puede encontrar -lJderobotInterfaces
> > collect2: ld returned 1 exit status
> >
> > Antes estaba así:
> > ${INTERFACES_CPP_DIR}/jderobot/libJderobotInterfaces.so
> >
> > Si lo tienes instalado ya previamente las librerías en el sistema si
> > funcionará, pero sino siempre falla en el linkado.
> >
> > ¿El cambio tiene que ver con lo de los cores?
> > Vamos a intentar dejarlo estable lo antes posible. Si lo podemos
> > arreglar rápido bien, sino revertimos el commit ¿ok?
> >
> > El lun, 07-10-2013 a las 14:43 +0200, franciscomiguel.rivas en urjc.es
> > escribió:
> >> Buenas,
> >> acabo de cambiar todas las interdependencias de jderobot para poder
> >> utilizar la compilación multicore que nos ofrece cmake. En mi caso
> >> tengo un pc con 4 cores y los tiempos se reducen considerablemente:
> >> Usando 1 core:
> >>   2 min 40s
> >> Usando los 4:
> >>   45s
> >>
> >> para utilizar la compilación multicore solo hay que ejecutar:
> >> make -jX (donde X es el número de cores que queremos usar para la  
> >> compilación)
> >>
> >> en mi caso:
> >> make -j4
> >>
> >>
> >> Todos los que puedan que lo prueben y que digan si les da a algún problema.
> >>
> >>
> >> un saludo,
> >> Fran.
> >>
> >> ------------------------------------------------------------------
> >> Laboratorio de Análisis del Movimiento, Biomecánica, Ergonomía y
> >> Control Motor (LAMBECOM).
> >> Departamento de Fisioterapia, Terapia Ocupacional, Rehabilitación y
> >> Medicina Física.
> >> Universidad Rey Juan Carlos (URJC).
> >> _______________________________________________
> >> Jde-developers mailing list
> >> Jde-developers en gsyc.es
> >> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
> >
> > --
> > Roberto Calvo Palomino        | Robotics Lab (GSyC)
> > R&D Android Mobile Engineer   | Universidad Rey Juan Carlos
> >
> > Twitter: @rocapal
> > Linkedin: http://www.linkedin.com/in/rocapal
> >
> >
> 
> 
> 
> ------------------------------------------------------------------
> Laboratorio de Análisis del Movimiento, Biomecánica, Ergonomía y  
> Control Motor (LAMBECOM).
> Departamento de Fisioterapia, Terapia Ocupacional, Rehabilitación y  
> Medicina Física.
> Universidad Rey Juan Carlos (URJC).

-- 
Roberto Calvo Palomino        | Robotics Lab (GSyC) 
R&D Android Mobile Engineer   | Universidad Rey Juan Carlos

Twitter: @rocapal 
Linkedin: http://www.linkedin.com/in/rocapal



More information about the Jde-developers mailing list