[Jderobot-dev] problemas compilando BASIC_COMPONENT

JoseMaria jmplaza en gsyc.es
Mie Feb 15 16:58:29 CET 2012


Una cosilla más que puede ayudar: En una noticia del blog [1] están las
trasparencias de una charla que dio Julio Vega sobre herramientas de
programación: makefiles, depurador gdb, etc muy útiles para desarrollar
aplicaciones con jderobot. Los Makefiles son vitales.

Ánimo,

JoseMaria
[1] http://blog.jderobot.org/?m=200905
On Tue, 2012-02-14 at 16:08 +0100, JoseMaria wrote:
> Julio,
> 
> mirando la troncho traza que pusiste, te está compilando todo y en
> enlazador (/usr/bin/ld) se queja de que al enlazar para construir el
> ejecutable no encuentra la biblioteca respectivas, que con ese prefijo
> tenía pinta de GearBox:
> 
> /usr/bin/ld: warning: libGbxUtilAcfr.so.1.0.0, needed
> by /usr/local/lib/jderobot/libJderobotIce.so, not found (try using
> -rpath or -rpath-link)
> 
> /usr/bin/ld: warning: libGbxIceUtilAcfr.so.1.0.0, needed
> by /usr/local/lib/jderobot/libJderobotIce.so, not found (try using
> -rpath or -rpath-link) 
> 
> Echa un ojo please a lo que es la compilación, el enlazado, la
> herramienta Make y las opciones adecuadas del compilador g++ (por
> ejemplo -Idirectorio para incluir un directorio en los sitios en los que
> busca cabeceras, o -Ldirectorio para incluirlo en los sitios en los que
> busca bibliotecas, etc). Te ayudará a poner las opciones adecuadas en
> los ficheros Makefile y a localizar pronto dónde está el fallo cuando se
> queje: que si no encuentra tal cabecera al compilar, que si no encuentra
> tal biblioteca al enlazar...
> 
> Ánimo,
> 
> JoseMaria
> On Tue, 2012-02-14 at 14:12 +0100, Julio Guillén wrote:
> > Efectivamente diste en el clavo ! Justo había escrito un mail
> > comentando que había trasteado con CUDA y modifiqué dicho archivo.
> > 
> > Mil gracias por la pronta atención.
> > 
> > El 14 de febrero de 2012 14:11, Alejandro Hernández
> > <ahcorde en gmail.com> escribió:
> >         Tiene pinta de ser Gearbox
> >         
> >         
> >         edita ~/.bashrc y añade al final
> >         
> >         
> >         export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/gearbox/
> >         
> >         
> >         guarda los cambios y resetea los terminales.
> >         
> >         
> >         Álex.
> >         
> >         2012/2/14 Julio Guillén <julio.guillen en gmail.com>
> >                 Desde mi equipo de sobremesa he intentado compilar
> >                 BASIC_COMPONENT (la versión del SVN de jderobot y la
> >                 de Mikel, por separado) y no he sido capaz de
> >                 lograrlo. Utilizo el Makefile-basic_component
> >                 redactado por Mikel y me da el siguiente mensaje de
> >                 error de compilación:
> >                 
> >                 
> >                 jguillen en ubuntu:~/jderobot/basic_component$ make -f
> >                 Makefile-basic_component 
> >                 g++ -I /usr/local/include/jderobot `pkg-config
> >                 --cflags opencv` `pkg-config --cflags gtkmm-2.4
> >                 libglademm-2.4 gthread-2.0 libgnomecanvas-2.0
> >                 libgnomecanvasmm-2.6` `pkg-config --cflags
> >                 gtkglextmm-1.2`   -c -o control.o control.cpp
> >                 g++ -I /usr/local/include/jderobot `pkg-config
> >                 --cflags opencv` `pkg-config --cflags gtkmm-2.4
> >                 libglademm-2.4 gthread-2.0 libgnomecanvas-2.0
> >                 libgnomecanvasmm-2.6` `pkg-config --cflags
> >                 gtkglextmm-1.2`   -c -o camera.o camera.cpp
> >                 g++ -I /usr/local/include/jderobot `pkg-config
> >                 --cflags opencv` `pkg-config --cflags gtkmm-2.4
> >                 libglademm-2.4 gthread-2.0 libgnomecanvas-2.0
> >                 libgnomecanvasmm-2.6` `pkg-config --cflags
> >                 gtkglextmm-1.2`   -c -o basic_component.o
> >                 basic_component.cpp
> >                 g++ -I /usr/local/include/jderobot `pkg-config
> >                 --cflags opencv` `pkg-config --cflags gtkmm-2.4
> >                 libglademm-2.4 gthread-2.0 libgnomecanvas-2.0
> >                 libgnomecanvasmm-2.6` `pkg-config --cflags
> >                 gtkglextmm-1.2`   -c -o API.o API.cpp
> >                 g++ -I /usr/local/include/jderobot `pkg-config
> >                 --cflags opencv` `pkg-config --cflags gtkmm-2.4
> >                 libglademm-2.4 gthread-2.0 libgnomecanvas-2.0
> >                 libgnomecanvasmm-2.6` `pkg-config --cflags
> >                 gtkglextmm-1.2`   -c -o gui.o gui.cpp
> >                 gui.cpp: In constructor
> >                 ‘basic_component::Gui::Gui(basic_component::Api*)’:
> >                 gui.cpp:79: warning: deprecated conversion from string
> >                 constant to ‘char*’
> >                 gui.cpp:81: warning: deprecated conversion from string
> >                 constant to ‘char*’
> >                 g++ -I /usr/local/include/jderobot `pkg-config
> >                 --cflags opencv` `pkg-config --cflags gtkmm-2.4
> >                 libglademm-2.4 gthread-2.0 libgnomecanvas-2.0
> >                 libgnomecanvasmm-2.6` `pkg-config --cflags
> >                 gtkglextmm-1.2`   -c -o canvasTeleoperateCameras.o
> >                 canvasTeleoperateCameras.cpp
> >                 g++ -I /usr/local/include/jderobot `pkg-config
> >                 --cflags opencv` `pkg-config --cflags gtkmm-2.4
> >                 libglademm-2.4 gthread-2.0 libgnomecanvas-2.0
> >                 libgnomecanvasmm-2.6` `pkg-config --cflags
> >                 gtkglextmm-1.2`   -c -o canvasTeleoperateControl.o
> >                 canvasTeleoperateControl.cpp
> >                 g++ -I /usr/local/include/jderobot `pkg-config
> >                 --cflags opencv` `pkg-config --cflags gtkmm-2.4
> >                 libglademm-2.4 gthread-2.0 libgnomecanvas-2.0
> >                 libgnomecanvasmm-2.6` `pkg-config --cflags
> >                 gtkglextmm-1.2`   -c -o canvasLaser.o canvasLaser.cpp
> >                 libtool --mode=link g++ -g -O -o basic_component
> >                 control.o gui.o camera.o API.o basic_component.o
> >                 canvasTeleoperateCameras.o canvasTeleoperateControl.o
> >                 canvasLaser.o /usr/local/lib/jderobot/libJderobotIce.la /usr/local/lib/jderobot/libJderobotUtil.la /usr/local/lib/jderobot/libcolorspacesmm.la /usr/local/lib/jderobot/libJderobotInterfaces.la /usr/local/lib/jderobot/libprogeo.la /usr/local/lib/jderobot/libpioneer.la `pkg-config --libs gtkmm-2.4 libglademm-2.4 gthread-2.0 libgnomecanvas-2.0 libgnomecanvasmm-2.6` `pkg-config --libs opencv` -lgsl -lgslcblas `pkg-config --libs gtkglextmm-1.2` -lGL -lGLU -lglut
> >                 libtool: link: g++ -g -O -o basic_component control.o
> >                 gui.o camera.o API.o basic_component.o
> >                 canvasTeleoperateCameras.o canvasTeleoperateControl.o
> >                 canvasLaser.o -pthread -Wl,--export-dynamic
> >                 -pthread  /usr/local/lib/jderobot/libJderobotIce.so /usr/local/lib/jderobot/libJderobotUtil.so /usr/local/lib/jderobot/libcolorspacesmm.so /usr/local/lib/jderobot/libJderobotInterfaces.so /usr/local/lib/jderobot/libprogeo.so /usr/local/lib/jderobot/libpioneer.so /usr/lib/libglademm-2.4.so /usr/lib/libglade-2.0.so /usr/lib/libxml2.so /usr/lib/libgnomecanvasmm-2.6.so /usr/lib/libgnomecanvas-2.so /usr/lib/libart_lgpl_2.so -lcv -lhighgui -lcvaux -lml -lcxcore -lgsl -lgslcblas /usr/lib/libgtkglextmm-x11-1.2.so /usr/lib/libgdkglextmm-x11-1.2.so /usr/lib/libgtkglext-x11-1.0.so /usr/lib/libgtkmm-2.4.so /usr/lib/libgdkglext-x11-1.0.so -lXmu -lXt -lSM -lICE /usr/lib/libpangox-1.0.so -lX11 /usr/lib/libatkmm-1.6.so /usr/lib/libgdkmm-2.4.so /usr/lib/libgiomm-2.4.so /usr/lib/libpangomm-1.4.so /usr/lib/libgtk-x11-2.0.so /usr/lib/libglibmm-2.4.so /usr/lib/libcairomm-1.0.so /usr/lib/libsigc-2.0.so /usr/lib/libgdk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/lib/libgio-2.0.so /usr/lib/libpangoft2-1.0.so /usr/lib/libgdk_pixbuf-2.0.so -lm /usr/lib/libpangocairo-1.0.so /usr/lib/libcairo.so /usr/lib/libpango-1.0.so /usr/lib/libfreetype.so -lfontconfig /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so -lGL -lGLU -lglut -pthread -Wl,-rpath -Wl,/usr/local/lib/jderobot -Wl,-rpath -Wl,/usr/local/lib/jderobot
> >                 /usr/bin/ld: warning: libGbxUtilAcfr.so.1.0.0, needed
> >                 by /usr/local/lib/jderobot/libJderobotIce.so, not
> >                 found (try using -rpath or -rpath-link)
> >                 /usr/bin/ld: warning: libGbxIceUtilAcfr.so.1.0.0,
> >                 needed by /usr/local/lib/jderobot/libJderobotIce.so,
> >                 not found (try using -rpath or -rpath-link)
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `VTT for gbxiceutilacfr::SafeThread'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `typeinfo for gbxutilacfr::TrivialTracer'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::infrastructureFinalising()'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `gbxiceutilacfr::Thread::waitForStop()'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::setMaxHeartbeatInterval(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `gbxutilacfr::Exception::Exception(char
> >                 const*, char const*, std::basic_string<char,
> >                 std::char_traits<char>, std::allocator<char> >
> >                 const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::subsystemStatus(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `typeinfo for gbxutilacfr::Exception'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `typeinfo for gbxiceutilacfr::SafeThread'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::setSubsystemStatus(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, gbxutilacfr::SubsystemState, gbxutilacfr::SubsystemHealth, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::removeSubsystem(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::addSubsystem(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double, gbxutilacfr::SubsystemType)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::setSubsystemType(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, gbxutilacfr::SubsystemType)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::heartbeat(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::ok(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::infrastructureWorking()'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialTracer::warning(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialTracer::error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialTracer::TrivialTracer(int, int,
> >                 int, int)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::infrastructureState()'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `gbxutilacfr::Exception::~Exception()'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::finalising(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `VTT for gbxiceutilacfr::Thread'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialTracer::debug(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::message(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::subsystems()'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialTracer::info(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxiceutilacfr::stopAndJoin(IceUtil::Handle<gbxiceutilacfr::Thread> const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::initialising(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::infrastructureInitialising()'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `gbxiceutilacfr::Thread::Thread()'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `typeinfo for gbxiceutilacfr::Thread'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::TrivialStatus(gbxutilacfr::Tracer&, bool, bool, bool, bool, bool)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `gbxutilacfr::TrivialStatus::process()'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialTracer::verbosity(gbxutilacfr::TraceType, gbxutilacfr::DestinationType) const'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `non-virtual thunk to
> >                 gbxiceutilacfr::Thread::isStopping()'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxiceutilacfr::SafeThread::SafeThread(gbxutilacfr::Tracer&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::warning(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `typeinfo for gbxutilacfr::TrivialStatus'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `gbxutilacfr::Exception::Exception(char
> >                 const*, char const*, std::basic_string<char,
> >                 std::char_traits<char>, std::allocator<char> >
> >                 const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::working(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxiceutilacfr::checkedSleep(gbxutilacfr::Stoppable*,
> >                 int, int)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `vtable for gbxiceutilacfr::Thread'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `vtable for gbxiceutilacfr::SafeThread'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialTracer::print(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `gbxutilacfr::Exception::~Exception()'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `gbxiceutilacfr::Thread::isStopping()'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to `gbxiceutilacfr::SafeThread::run()'
> >                 /usr/local/lib/jderobot/libJderobotIce.so: undefined
> >                 reference to
> >                 `gbxutilacfr::TrivialStatus::fault(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> >                 collect2: ld returned 1 exit status
> >                 make: *** [basic_component] Error 1
> >                 
> >                 
> >                 
> >                 _______________________________________________
> >                 Jde-developers mailing list
> >                 Jde-developers en gsyc.es
> >                 http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
> >                 
> >         
> >         
> > 
> > 
> > 
> > -- 
> >                                Logo
> > Julio Guillén García
> > Software Team Lead
> > +34 657082696 ·
> > julio.guillen en gmail.com 
> > 
> > 
> > Future Vehicles and Entrepreneurs
> > E.T.S.I. Navales - Aula Fuve-E ·
> > Avenida Arco de la Victoria s/n
> > 28040 Madrid
> > www.fuve-e.es
> > 
> > facebook twitter linkedIn
> > eco No me imprimas si no es
> > necesario. Protejamos el medio
> > ambiente
> > 
> > Este correo electrónico y, en su
> > caso, cualquier fichero anexo al
> > mismo, contiene información de
> > carácter confidencial
> > exclusivamente dirigida a su
> > destinatario o destinatarios. Queda
> > prohibida su divulgación, copia o
> > distribución a terceros sin la
> > previa autorización escrita de
> > FUVE-E 
> > 
> > En caso de no ser usted la persona
> > a la que fuera dirigido este
> > mensaje y a pesar de ello está
> > continúa leyéndolo, ponemos en su
> > conocimiento que está cometiendo un
> > acto ilícito en virtud de la
> > legislación vigente en la
> > actualidad, por lo que deberá
> > dejarlo de leer automáticamente. 
> > 
> > FUVE-E no es responsable de su
> > integridad, exactitud, o de lo que
> > acontezca cuando el correo
> > electrónico circula por las
> > infraestructuras de comunicaciones
> > electrónicas públicas. En el caso
> > de haber recibido este correo
> > electrónico por error, se ruega
> > notificar inmediatamente esta
> > circunstancia mediante reenvío a la
> > dirección electrónica del
> > remitente. 
> > 
> > El correo electrónico vía Internet
> > no permite asegurar la
> > confidencialidad de los mensajes
> > que se transmiten ni su integridad
> > o correcta recepción, por lo que
> > FUVE-E no asume ninguna
> > responsabilidad que pueda derivarse
> > de este hecho.
> > 
> > 
> > 
> > _______________________________________________
> > Jde-developers mailing list
> > Jde-developers en gsyc.es
> > http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
> 

-- 
http://gsyc.es/jmplaza 
Universidad Rey Juan Carlos




More information about the Jde-developers mailing list