[Ros-release] catkin message build problem for Fuerte
gerkey at willowgarage.com
Mon Mar 12 16:37:05 UTC 2012
On Sun, Mar 11, 2012 at 5:00 PM, Jack O'Quin <jack.oquin at gmail.com> wrote:
> I want to update the comments in the sensor_msgs/NavSatFix message.
> This update is a clarification which arose in the NMEA GPS driver
> It should not break anything, but I hate to commit a change to
> sensor_msgs without a regression test.
> Unfortunately, I can't figure out how to build common_msgs. I checked
> out a copy and made my change. Here's the way I tried to build it
> (without success):
> $ roscd sensor_msgs
> $ mkdir build
> $ cd build
> $ cmake ..
> -- The C compiler identification is GNU
> -- The CXX compiler identification is GNU
> -- Check for working C compiler: /usr/bin/gcc
> -- Check for working C compiler: /usr/bin/gcc -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Check for working CXX compiler: /usr/bin/c++
> -- Check for working CXX compiler: /usr/bin/c++ -- works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> CMake Error at CMakeLists.txt:2 (catkin_project):
> Unknown CMake command "catkin_project".
> 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.
> -- Configuring incomplete, errors occurred!
You need to configure at the stack level. E.g.:
$ cd common_msgs
$ mkdir build
$ cd build
$ cmake ..
After that, you can build any of the targets offered by cmake (`make
help` to list them). Each project is a target, which means that you
can build everything in the sensor_msgs package:
$ make sensor_msgs
We hadn't considered the use case of configuring at the
package/project level as you attempted to do. It's doable, but would
put extra burden on developers in terms of the boilerplate that would
need to be in each CMakeLists.txt. And we would need an extra set of
regression builds to ensure that package-level configuring keeps
working. So I'm not inclined to support it.
> Here is the change:
> Index: msg/NavSatFix.msg
> --- msg/NavSatFix.msg (revision 38984)
> +++ msg/NavSatFix.msg (working copy)
> @@ -2,7 +2,14 @@
> # Specified using the WGS 84 reference ellipsoid
> -# Header specifies ROS time and frame of reference for this fix.
> +# header.stamp specifies the ROS time for this measurement (the
> +# corresponding satellite time may be reported using the
> +# sensor_msgs/TimeReference message).
> +# header.frame_id is the frame of reference reported by the satellite
> +# receiver, usually the location of the antenna. This is a
> +# Euclidean frame relative to the vehicle, not a reference
> +# ellipsoid.
> Header header
> # satellite fix status information
> Can someone tell me how to build common_msgs in Fuerte?
> Should I commit this change, anyway? It should be safe.
The change looks ok to me. IIRC, comment changes don't change the
md5sum, so there shouldn't be any user-visible consequences.
More information about the Ros-release