[Jderobot] CMAKE

Roberto Calvo rocapal en gsyc.urjc.es
Lun Sep 23 09:43:13 CEST 2013



Genial! :-)

Todo compila perfecto, pero a mi se me ha roto la compilación de
parallelIce

[ 33%] Built target colorspacesmm
Linking CXX shared library libparallelIce.so
/usr/bin/ld: ../colorspaces/libcolorspacesmm.a(imagecv.cpp.o): no se puede usar la reubicación R_X86_64_32 contra `pthread_cancel' cuando se hace un objeto compartido; recompile con -fPIC
../colorspaces/libcolorspacesmm.a: error adding symbols: Valor erróneo
collect2: ld returned 1 exit status

Para generar el so, utiliza el .a y parece que le sienta un poco mal. Lo
he solucionado con este parche (ahora lo subiré).

--- CMakeLists.txt	(revisión: 986)
+++ CMakeLists.txt	(copia de trabajo)
@@ -9,7 +9,7 @@
 TARGET_LINK_LIBRARIES(parallelIce colorspacesmm)
 
 add_library (parallelIceshare SHARED cameraClient.cpp  cameraClient.h
pointcloudClient.cpp  pointcloudClient.h)
-TARGET_LINK_LIBRARIES(parallelIceshare colorspacesmm)
+TARGET_LINK_LIBRARIES(parallelIceshare colorspacesmmshare)


Por cierto, cuando hagáis los commits tratar de hacerlos los más
pequeños posibles y no agrupar varios bugs o funcionalidad en el mismo.
Así es más fácil ver que se ha cambiado si algo no funciona.



El sáb, 21-09-2013 a las 14:30 +0200, franciscomiguel.rivas en urjc.es
escribió:
> Buenas,
> acabo de terminar de instalar la última versión de jderobot en un pc  
> de pruebas y os cuento un par de cosas que he tenido que cambiar:
> 
> 1- Dependencias de librerías.
> En los cmakes de las librerías deberían estar las dependencias en los  
> target_link_libraries con su nombre. Para que me compilase he tenido  
> que cambiar
> el de visionlib y cambiar:
> ${LIBS_DIR}/progeo/libprogeo.so por progeo
> 
> y el de pararllelIce cambiando:
> ${LIBS_DIR}/colorspaces/colorspacesmm.so por colorspacesmm
> 
> 
> De algunas otras librerías he quitado lineas que no eran necesarias.
> 
> 2- compilación con 4.6
> Al compilar con la 4.4 no ha habido ningún problema, con la 4.6 me  
> daba un problema con el rgbdcalibrator y gsl, he cambiado el orden de  
> linkado y ya funciona.
> 
> 3- duplicación de opencv
> opencv está como dependencia en el cmakelists principal y luego tiene  
> su propio .Deps, uno se llamaba opencv_XXX y otro OpenCV_XXX y había  
> algún componte que no conseguía resolver bien las dependencias, he  
> quitado el del principal y ahora está solo el .Deps (OpenCV)
> 
> 
> 4- Para que no hayan problemas hasta que esté playerserver funcional  
> les he puesto una condición false para que nunca se compilen.
> 
> 
> 5- También he modificado los includes de introrob que estaban  
> directamente a progeo.h y derían ser progeo/progeo.h ya que el include  
> de las librerías de jderobot es el libs/.
> 
> 
> 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



More information about the Jde-developers mailing list