[Jderobot] compilacion multicore para jderobot

Roberto Calvo rocapal en gsyc.urjc.es
Lun Oct 7 17:05:29 CEST 2013


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



More information about the Jde-developers mailing list