[Jderobot] compilacion multicore para jderobot
franciscomiguel.rivas en urjc.es
franciscomiguel.rivas en urjc.es
Lun Oct 7 16:56:05 CEST 2013
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?
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).
More information about the Jde-developers
mailing list