[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