[Jde-dev] Compilación "cameraserver"

Francisco Rivas fm.rivas en alumnos.urjc.es
Dom Mar 7 16:11:00 CET 2010


Buenas,
a mi me paso lo mismo y es que no es capaz de resolver las referencias  
con la librería de GearBox.
Para "arreglar" esto hay que añadir a la variable LD_LIBRARY_PATH el  
path de GearBox que si no lo has cambiado en el cmake al instalarla es:
/usr/local/lib/gearbox:

Pureba a ejecutar:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/gearbox/

y luego otra vez el make.

Suerte.




"Javier Vazquez" <javiervazper en yahoo.es> ha escrito:

> Gracias David,
>
> la verdad es que estaba tratando de generarme un Makefile a mano  
> para compilar solo "cameraserver" y sin usar la parte del configure.
>
> He instalado OpenCV 2.0 siguiendo las instrucciones de [1] y ha ido bien.
>
> Después he preferido continuar compilando el proyecto entero. Como  
> soy nuevo en esto, buscando en algunos manuales, he visto que los  
> pasos son los siguientes:
>
>
> 	1. Posicionarse en directorio del proyecto.
> 	2. Ejecutar "aclocal"
> 	3. Ejecutar "autoconf"
> 	4. Ejecutar "autoheader"
>
> 	5. Ejecutar "automake -a":
> 	1. Me ha dado el fallo de que no podía instalar "ltmain.h". He  
> verificado que "libtool" está instalado y que este fichero existe  
> bajo /usr/share/libtool/config/ltmain.sh. Lo he enlazado a mano,  
> bajo el subdirectorio config, justo a config.guess, etc.., ya que no  
> sabía la forma de lograr que "automake" se diera cuenta.
> 	2. Al volver a lanzarlo, ha creado el Makefile.in
> 	6. Ejecutar "./configure"
> 	1. Me ha identificado varias cosas que faltaban y que he agregado:  
> gtkmm 2.4 y libglade 2.4. También daba otro error diciendo que no  
> encontraba "mysql++/mysql++.h" al tener habilitado el componente  
> "recordingserver".
>
> 	2. Después de instalar gtkmm y libglade 2.4, he ejecutado  
> "./configure" con la opción "--disable-component-recordingserver" y  
> ha pasado.
>
> 	7. Al ejecutar el make, después de muchos pasos, me reporta un  
> error justo al procesar "cameraserver":····
> /bin/bash ../../../libtool --tag=CXX   --mode=link g++  -g -O2  
> -pthread -lgstapp-0.10 -lgstbase-0.10 -lgstreamer-0.10 -lgobject-2.0  
> -lgmodule-2.0 -lgthread-2.0 -lrt -lxml2 -lglib-2.0    -o  
> cameraserver cameraserver-cameraserver.o cameraserver-gstpipeline.o  
> ../../../src/libs/jderobotice/libJderobotIce.la  
> ../../../src/libs/jderobotutil/libJderobotUtil.la  
> ../../../src/libs/colorspaces/libcolorspacesmm.la  
> ../../../src/interfaces/cpp/jderobot/libJderobotInterfaces.la -lm
> libtool: link: g++ -g -O2 -pthread -o .libs/cameraserver  
> cameraserver-cameraserver.o cameraserver-gstpipeline.o   
> -lgstapp-0.10 /usr/lib/libgstbase-0.10.so  
> /usr/lib/libgstreamer-0.10.so /usr/lib/libgobject-2.0.so  
> /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt  
> /usr/lib/libxml2.so /usr/lib/libglib-2.0.so  
> ../../../src/libs/jderobotice/.libs/libJderobotIce.so  
> ../../../src/libs/jderobotutil/.libs/libJderobotUtil.so  
> ../../../src/libs/colorspaces/.libs/libcolorspacesmm.so  
> ../../../src/interfaces/cpp/jderobot/.libs/libJderobotInterfaces.so  
> -lm -pthread -Wl,-rpath -Wl,/usr/local/lib/jderobot
> /usr/bin/ld: warning: libGbxUtilAcfr.so.1.0.0, needed by  
> ../../../src/libs/jderobotice/.libs/libJderobotIce.so, not found  
> (try using -rpath or -rpath-link)
> /usr/bin/ld: warning: libGbxIceUtilAcfr.so.1.0.0, needed by  
> ../../../src/libs/jderobotice/.libs/libJderobotIce.so, not found  
> (try using -rpath or -rpath-link)
> cameraserver-cameraserver.o: In function `~ConfigFileException':
> /home/jvazquez/workspace/jderobot_5.0_III/src/libs/jderobotice/exceptions.h:29: undefined reference to  
> `gbxutilacfr::Exception::~Exception()'
> /home/jvazquez/workspace/jderobot_5.0_III/src/libs/jderobotice/exceptions.h:29: undefined reference to  
> `gbxutilacfr::Exception::~Exception()'
> cameraserver-cameraserver.o: In function `~Thread':
> /usr/local/include/gearbox/gbxsickacfr/gbxiceutilacfr/thread.h:73:  
> undefined reference to `vtable for gbxiceutilacfr::Thread'
> /usr/local/include/gearbox/gbxsickacfr/gbxiceutilacfr/thread.h:73:  
> undefined reference to `vtable for gbxiceutilacfr::Thread'
> /usr/local/include/gearbox/gbxsickacfr/gbxiceutilacfr/thread.h:73:  
> undefined reference to `VTT for gbxiceutilacfr::Thread'
> /usr/local/include/gearbox/gbxsickacfr/gbxiceutilacfr/thread.h:73:  
> undefined reference to `vtable for gbxiceutilacfr::Thread'
> ····
>
> El fichero de cabecera está instalado en  
> "/usr/local/include/gearbox/gbxutilacfr/exceptions.h" ¿?
>
> ¿Alguna idea?
>
>
>
>
>
> ________________________________
> De: David Lobato <dav.lobato en gmail.com>
> Para: Javier Vazquez <javiervazper en yahoo.es>
> CC: jde developers <jde-developers en gsyc.es>
> Enviado: sáb,6 marzo, 2010 11:03
> Asunto: Re: Compilación "cameraserver"
>
> Si es esto comentame y ponemos un ticket en el trac para revisar el  
> configure y que te avise si no tienes la versión 2.0 de opencv
>
>
> 2010/3/6 David Lobato <dav.lobato en gmail.com>
>
> El error que te da es que no tienes la versión 2.0 de opencv (no se  
> porque el configure no ha avisado...) y por eso no encuentra el  
> namespace cv donde está todo el API C++ de opencv.
>>
>>
>>
>>
>> David.
>>
>>
>> 2010/3/6 Javier Vazquez <javiervazper en yahoo.es>
>>
>>
>>>>
>>> Disculpa, no me he dado cuenta de que es otra interface ICE. Ya he  
>>> traducido a C/C++ el fichero jcm.ice.
>>>
>>> Parece que solo me queda solucionar el fallo siguiente en imagecv.h:
>>>>>
>>>
>>> jvazquez en ubuntu:~/workspace/jderobot_5.0/src/components/cameraserver$ make
>>> c++ -g  -I.  
>>> -I/home/jvazquez/workspace/jderobot_5.0/src/interfaces/slice/  
>>> -I/usr/include/opencv/  
>>> -I/home/jvazquez/workspace/jderobot_5.0/src/interfaces/slice/jderobot/  
>>> -I/home/jvazquez/workspace/jderobot_5.0/src/libs   
>>> -I/usr/include/libxml2/ -I/usr/include/gstreamer-0.10/  
>>> -I/usr/include/gstreamer-0.10/ -I/usr/include/glib-2.0/  
>>> -I/usr/lib/glib-2.0/include/ -I/usr/local/include/gearbox -lforms  
>>> -lX11 -lpioneer -lm -lpthread -lXpm -ldl -fPIC -c gstpipeline.cpp
>>>
>>> In file included from
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/colorspacesmm.h:25,
>>>                 from gstpipeline.h:11,
>>>                 from gstpipeline.cpp:1:
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:36:  
>>> error: ?cv? has not been declared
>>>>>
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:36:  
>>> error: expected ?{? before ?Mat?
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:36:  
>>> error: invalid type in declaration before ?{? token
>>>>>
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:36:  
>>> warning: extended initializer lists only available with -std=c++0x  
>>> or -std=gnu++0x
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:37:
>>> error: expected primary-expression before ?public?
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:37:  
>>> error: expected ?}? before ?public?
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:37:  
>>> error: expected ?,? or ?;? before ?public?
>>>>>
>>> gstpipeline.cpp:257: error: expected ?}? at end of input
>>> make: *** [gstpipeline.o] Error 1
>>>
>>> A ver si doy con las últimas librerías que me faltan ...
>>>
>>>
>>>>>
>>>
>>>
> ________________________________
> De: Javier Vazquez <javiervazper en yahoo.es>
>>> Para: David Lobato <dav.lobato en gmail.com>
>>>
>>> CC: jde developers
>>> <jde-developers en gsyc.es>
>>> Enviado: sáb,6 marzo, 2010 09:31
>>> Asunto: Re: Compilación "cameraserver"
>>>
>>>
>>>
>>> Gracias David,
>>>
>>> ya he pasado de ese punto, instalados los paquetes de desarrollo  
>>> de gstreamer más instalado gearbox. Estoy ajustando el Makefile y  
>>> me aparece una referencia a un fichero cabecera de JDErobot que  
>>> creo que no está subido al repositorio: El el "jcm.h" ¿Te suena si  
>>> hay que subirlo?
>>>
>>> jvazquez en ubuntu:~/workspace/jderobot_5.0/src/components/cameraserver$ make  
>>> 2>&1 | tee log
>>> c++ -g  -I.  
>>> -I/home/jvazquez/workspace/jderobot_5.0/src/interfaces/slice/jderobot/  
>>> -I/home/jvazquez/workspace/jderobot_5.0/src/libs   
>>> -I/usr/include/libxml2/ -I/usr/include/gstreamer-0.10/  
>>> -I/usr/include/gstreamer-0.10/ -I/usr/include/glib-2.0/
>>> -I/usr/lib/glib-2.0/include/ -I/usr/local/include/gearbox -lforms  
>>> -lX11 -lpioneer -lm -lpthread -lXpm -ldl -fPIC -c gstpipeline.cpp
>>> In file included
>>> from  
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/jderobotice/component.h:20,
>>>                 from gstpipeline.h:9,
>>>                 from gstpipeline.cpp:1:
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/jderobotice/context.h:28:26: error: jderobot/jcm.h: No such file or directory==>> ¿sería en la carpeta  
>>> jderobotutil?
>>>>>
>>> In file included from  
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/jderobotice/component.h:20,
>>>                 from gstpipeline.h:9,
>>>                 from
>>> gstpipeline.cpp:1:
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/jderobotice/context.h:84:  
>>> error: ?jderobot? has not been declared
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/jderobotice/context.h:84:  
>>> error: ISO C++ forbids declaration of ?FQComponentName? with no type
>>>>>
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/jderobotice/context.h:84:  
>>> error: expected ?;? before ?&? token
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/jderobotice/context.h:241:  
>>> error: ISO C++ forbids declaration of ?jderobot? with no type
>>>>>
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/jderobotice/context.h:241:  
>>> error: expected ?,? or ?...? before ?::? token
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/jderobotice/context.h:249:  
>>> error: ?jderobot? has not been declared
>>>>>
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/jderobotice/context.h:249:  
>>> error: ISO C++ forbids declaration of ?FQComponentName? with no
>>> type
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/jderobotice/context.h:249:  
>>> error: expected ?;? before ?name_?
>>> In file included from gstpipeline.h:9,
>>>                 from gstpipeline.cpp:1:
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/jderobotice/component.h:165: error: ISO C++ forbids declaration of ?jderobot? with no  
>>> type
>>>>>
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/jderobotice/component.h:165: error: expected ?,? or ?...? before ?::?  
>>> token
>>> In file included from  
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/colorspacesmm.h:25,
>>>>>
>>>                 from gstpipeline.h:11,
>>>                 from
>>> gstpipeline.cpp:1:
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:36:  
>>> error: ?cv? has not been declared
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:36:  
>>> error: expected ?{? before ?Mat?
>>>>>
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:36:  
>>> error: invalid type in declaration before ?{? token
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:36:  
>>> warning: extended initializer lists only available with -std=c++0x  
>>> or -std=gnu++0x
>>>>>
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:37:  
>>> error: expected primary-expression before ?public?
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:37:  
>>> error: expected ?}? before ?public?
>>>>>
>>> /home/jvazquez/workspace/jderobot_5.0/src/libs/colorspaces/imagecv.h:37:  
>>> error: expected ?,? or ?;? before ?public?
>>> gstpipeline.cpp:257: error: expected
>>> ?}? at end of input
>>> make: *** [gstpipeline.o] Error 1
>>>
>>>
>>>
>>>
>>>
>>>
>>>>>
> ________________________________
> De: David Lobato <dav.lobato en gmail.com>
>>> Para: Javier Vazquez <javiervazper en yahoo.es>
>>> CC: jde developers <jde-developers en gsyc.es>
>>> Enviado: vie,5 marzo, 2010 12:39
>>> Asunto: Re: Compilación "cameraserver"
>>>
>>> Las 2 primeras cabeceras son de gstreamer, concretamente vienen en  
>>> los paquetes libgstreamer0.10-dev y  
>>> libgstreamer-plugins-base0.10-dev respectivamente.
>>>>>
>>>
>>> La última es de
>>> gearbox, que de momento no está paquetizado para debian. Puedes  
>>> encontrar las fuentes aquí [1].
>>>
>>>
>>> David.
>>>
>>>
>>> [1] http://gearbox.sourceforge.net/
>>>
>>>
>>>
>>>
>>>
>>>
>>>>>
>>> 2010/3/5 Javier Vazquez <javiervazper en yahoo.es>
>>>
>>> Hola David,
>>>>
>>>> estoy tratando de compilar el código del componente  
>>>> "cameraserver" que hay en el repositorio de la 5.0. Veo en la  
>>>> parte de los includes algunas cabeceras que no tengo instaladas:
>>>>
>>>> gstpipeline.h:6:21: error: gst/gst.h: No such file or directory
>>>> gstpipeline.h:7:32: error: gst/app/gstappsink.h: No such file or directory
>>>> gstpipeline.h:8:51: error:  
>>>> gbxsickacfr/gbxiceutilacfr/safethread.h: No such file or directory
>>>>
>>>>
>>>> He probado con varios paquetes de "gstreamer" pero no lo  
>>>> encuentro. ¿Sabes que paquetes son necesarios para resolver las  
>>>> dependencias de las tres cabeceras anteriores?
>>>>
>>>> Gracias de antemano,
>>>> Javier.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>
>
>
>



----------------------------
Francisco Miguel Rivas Montero
http://jde.gsyc.es/index.php/Frivas-pfc-itis


More information about the Jde-developers mailing list