[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