[Jderobot-dev] Mi primer componente: "No cmake_minimum_required command is present"

Mikel Gonzalez Baile m.gonzalezbai en gmail.com
Dom Oct 14 13:07:08 CEST 2012


Hola Borja,

el problema que te está dando se debe a que el componente "basic_component"
necesita que previamente hayan sido lanzados el simulador Gazebo0.9 y el
componente "gazeboserver" en este orden.
Un saludo,

Mikel
El 13/10/2012 20:23, "Borja Menéndez Moreno" <b.menendez en alumnos.urjc.es>
escribió:

> Hola otra vez,
>
> Llevo un rato tratando de iniciar basic_component pero me es totalmente
> imposible. Primero de todo, he lanzado cameraserver para que sirva una
> cámara (camera_borja). Después, he configurado basic_component
> prácticamente igual a como viene por defecto:
>
> basic_component.Motors.Proxy=motors1:tcp -h localhost -p 9999
> basic_component.Camera1.Proxy=camera_borja:tcp -h localhost -p 9999
> basic_component.Encoders.Proxy=encoders1:tcp -h localhost -p 9999
> basic_component.Laser.Proxy=laser1:tcp -h localhost -p 9999
> basic_component.PTEncoders1.Proxy=ptencoders1:tcp -h localhost -p 9999
> basic_component.PTEncoders2.Proxy=ptencoders2:tcp -h localhost -p 9999
> basic_component.PTMotors1.Proxy=ptmotors1:tcp -h localhost -p 9999
> basic_component.PTMotors2.Proxy=ptmotors2:tcp -h localhost -p 9999
>
> Y, al lanzar basic_component (*./basic_component
> --Ice.Config=basic_component2.cfg -G*) me aparece el siguiente error:
>
> Outgoing.cpp:422: Ice::ObjectNotExistException:
> object does not exist:
> identity: `motors1'
> facet:
> operation: ice_isA
>
> Como lo que dice que no existe es motors1, lo he eliminado del .cfg, pero
> me sale otro error:
>
> Could not create proxy with motors
>
> ¿He de lanzar algún otro componente para que basic_component funcione
> correctamente a parte de cameraserver? ¿O solamente hace falta modificar el
> fichero de configuración? Estoy un pelín perdido ahora mismo, la verdad.
>
> Un saludo,
>
> Borja.
>
> El 13 de octubre de 2012 18:39, Borja Menéndez Moreno <
> b.menendez en alumnos.urjc.es> escribió:
>
>> Efectivamente, he estado lanzando el cmake incorrectamente desde el
>> principio. En lugar de *cmake .*, lo he estado lanzando como *cmake ..*;
>> así que nada, simplemente he borrado los archivos de caché de cmake y he
>> compilado como había que hacerlo.
>>
>> ¡Muchas gracias! :D
>>
>> El 13 de octubre de 2012 16:27, Mikel Gonzalez Baile <
>> m.gonzalezbai en gmail.com> escribió:
>>
>> Hola Borja,
>>>
>>> el error que comentas en el componente basic_component:
>>>
>>>  cmake_minimum_required(VERSION 2.8)
>>>
>>>
>>> esa es una línea que se encuentra en todos los CMakeLists.txt que están
>>> en el directorio "build/" de cada componente, y se queja de que no la
>>> encuentra. Puede ser debido a que no estés lanzando el "cmake" en el
>>> directorio, para compilar un componente:
>>>
>>> 1- Sitúate en el directorio "build/" del componente y ejecuta:
>>>
>>> *cmake .*
>>> *
>>> *
>>> Si aún así te sigue fallando, prueba a eliminar los datos cacheados de
>>> CMake. Cuando se compila un componente, bien desde el propio componente
>>> como desde el directorio "trunk/", CMake crea una serie de ficheros y
>>> directorios (CMakeCache.txt, CMakeFiles,...) dónde almacena información
>>> propia para realizar la compilación. Para eliminar estos datos, cada
>>> componente tiene en su directorio "build/" un script "clean.sh" que, cuando
>>> la compilación se ha realizado desde el propio componente, limpia todos los
>>> datos que genera (incluías librerías, ejectuables, etc, etc).
>>>
>>> Si en cambio lanzaste la compilación desde "trunk/" para así construir
>>> todos los componentes, el script que realiza toda la limpieza se encuentra
>>> en el propio directorio "trunk/" y es "clean_repository.sh".
>>>
>>> Sobre el error que comentas al lanzar el "make", es raro que el
>>> directorio del componente contenga un fichero "Makefile" (que es el que se
>>> ejecuta con "make") si previamente el cmake te estaba fallando, ya que el
>>> fichero "Makefile" se genera tras lanzar el comando cmake y que todo haya
>>> sido correcto. Prueba a eliminar los ficheros cacheados y lanzar el cmake
>>> como te he comentado al principio, si aún así falla, coméntalo por aquí.
>>>
>>> Un saludo,
>>>
>>> Mikel.
>>>
>>> 2012/10/13 Borja Menéndez Moreno <b.menendez en alumnos.urjc.es>
>>>
>>>> Hola a todos,
>>>>
>>>> Estoy empezando a hacer mi primer componente basado en basic_component
>>>> y me he encontrado con un problema inesperado que no he podido resolver
>>>> hasta el momento. Para empezar, he probado simplemente a compilar
>>>> basic_component por probar antes de hacer mi propio componente, y cuando he
>>>> ido a compilar con cmake me dice lo siguiente:
>>>>
>>>> CMake Warning (dev) in CMakeLists.txt:
>>>>   No cmake_minimum_required command is present.  A line of code such as
>>>>
>>>>     cmake_minimum_required(VERSION 2.8)
>>>>
>>>>   should be added at the top of the file.  The version specified may be
>>>> lower
>>>>   if you wish to support older CMake versions for this project.  For
>>>> more
>>>>   information run "cmake --help-policy CMP0000".
>>>> This warning is for project developers.  Use -Wno-dev to suppress it.
>>>>
>>>> El warning no lo llego a entender del todo, puesto que he estado
>>>> comparando el CMakeLists.txt del componente y del directorio build con sus
>>>> homónimos del cameraserver y no he visto diferencias aparentes (más allá de
>>>> que uno necesite unas librerías que el otro no), pero el cameraserver me
>>>> compiló en su momento sin problemas.
>>>>
>>>> Después, he intentado hacer un make y me sale un chorro de errores
>>>> tremendo. Empieza así:
>>>>
>>>> Scanning dependencies of target basic_component
>>>> [ 12%] Building CXX object CMakeFiles/basic_component.dir/control.o
>>>> In file included from
>>>> /home/borjamon/jderobot/trunk/src/components/basic_component/control.cpp:22:
>>>> /home/borjamon/jderobot/trunk/src/components/basic_component/control.h:30:29:
>>>> error: jderobot/camera.h: No existe el fichero o el directorio
>>>> /home/borjamon/jderobot/trunk/src/components/basic_component/control.h:31:29:
>>>> error: jderobot/motors.h: No existe el fichero o el directorio
>>>>
>>>> He visto que cameraserver hace uso también de jderobot/camera.h en
>>>> cameraserver.cpp y, como ya digo, compiló sin problemas.
>>>>
>>>> Estoy usando Ubuntu 10.04 para crear mi primer componente. ¿Alguien
>>>> sabe qué puede estar pasando con basic_component? Estoy seguro de que debe
>>>> ser una pequeña tontería, pero no la veo...
>>>>
>>>> Un saludo y muchas gracias de antemano,
>>>>
>>>> Borja.
>>>>
>>>> _______________________________________________
>>>> Jde-developers mailing list
>>>> Jde-developers en gsyc.es
>>>> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>>>>
>>>>
>>>
>>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20121014/a6600103/attachment.htm 


More information about the Jde-developers mailing list