[Jderobot] compilacion multicore para jderobot

franciscomiguel.rivas en urjc.es franciscomiguel.rivas en urjc.es
Lun Oct 7 17:08:49 CEST 2013


Buenas,
si tienes que estar en el cmake principal, ahí es donde se añaden el  
resto de librerías:


FOREACH(LibFile ${LIBS_NEEDED})
     link_directories(${LIBS_DIR}/${LibFile})
     MESSAGE("${LIBS_DIR}/${LibFile}")
ENDFOREACH(LibFile)


Pero como jderobotinterfaces se crea en otro sitio... pues no se incluía.

ok, ahora lo subo.

un saludo,
Fran.


"Roberto Calvo" <rocapal en gsyc.urjc.es> escribió:

> El lun, 07-10-2013 a las 16:56 +0200, franciscomiguel.rivas en urjc.es
> escribió:
>> Buenas,
>> vale, el problema es que como jderobot interfaces no está en el
>> directorio habitual de librerías de jderobot no la encuentra, añadiendo
>> link_directories(${INTERFACES_CPP_DIR}/jderobot)
>> al cmake principal se soluciona.
>>
>> ahora me está dando problemas con gsl pero no se si es mi pc....
>>
>> Lo mas raro de todo es que con debian en el curro no me daba ningún
>> problema. En el ubuntu de casa me daba en mismo problema que a ti con
>> jderobotinterfaces.
>>
>> ¿puedes probar a ver si es sólo eso?
>
> Ahora si funciona bien las segundas compilaciones. Si quieres súbelo.
> Entiendo que tiene que estar obligatoriamente en el CMAKE principal
> ¿verdad?
>
> Sobre GSL no me está dando problemas, acabo de compilar con la versión
> más reciente del repo que ya tiene cambiado todo lo de colorspaces.
>
>>
>>
>> un saludo,
>> Fran.
>>
>>
>> "Roberto Calvo" <rocapal en gsyc.urjc.es> escribió:
>>
>> > 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
>> >
>> >
>>
>>
>>
>> ------------------------------------------------------------------
>> 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
>
>



------------------------------------------------------------------
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).


More information about the Jde-developers mailing list