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

Borja Menéndez Moreno b.menendez en alumnos.urjc.es
Dom Oct 14 17:44:48 CEST 2012


Gracias Mikel.

El problema que tengo ahora es al hacer el make de gazeboserver:

Scanning dependencies of target gazeboserver
[100%] Building CXX object ../CMakeFiles/gazeboserver.dir/gazeboserver.cpp.o
/home/borjamon/jderobot/trunk/src/components/gazeboserver/gazeboserver.cpp:54:27:
error: gazebo/gazebo.h: No existe el fichero o el directorio

Efectivamente, he hecho un locate y no he encontrado ningún fichero que se
llamase gazebo.h. ¿Es normal?

Un saludo,

Borja.

El 14 de octubre de 2012 13:07, Mikel Gonzalez Baile <
m.gonzalezbai en gmail.com> escribió:

> 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/c90bad68/attachment.htm 


More information about the Jde-developers mailing list