strands-project / mongodb_store

MongoDB tools for storing and analysing runs of ROS systems.
BSD 3-Clause "New" or "Revised" License
49 stars 72 forks source link

[mongodb_store] geometry_msgs is missing dependency to build the example #98

Closed marc-hanheide closed 9 years ago

marc-hanheide commented 9 years ago

from log:

Building CXX object CMakeFiles/example_mongodb_store_cpp_client.dir/src/example_mongodb_store_cpp_client.cpp.o
/usr/lib/ccache/c++   -DROS_PACKAGE_NAME=\"mongodb_store\" -DROSCONSOLE_BACKEND_LOG4CXX -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security  -I/tmp/buildd/ros-hydro-mongodb-store-0.1.0-0precise-20141017-0350/obj-x86_64-linux-gnu/devel/include -I/tmp/buildd/ros-hydro-mongodb-store-0.1.0-0precise-20141017-0350/include -I/opt/ros/hydro/include    -std=c++0x -o CMakeFiles/example_mongodb_store_cpp_client.dir/src/example_mongodb_store_cpp_client.cpp.o -c /tmp/buildd/ros-hydro-mongodb-store-0.1.0-0precise-20141017-0350/src/example_mongodb_store_cpp_client.cpp
/tmp/buildd/ros-hydro-mongodb-store-0.1.0-0precise-20141017-0350/src/example_mongodb_store_cpp_client.cpp:2:32: fatal error: geometry_msgs/Pose.h: No such file or directory
compilation terminated.

A common problem, that some package in a repo include the dependency but then the package itself doesn't causing the devel build to succeed and the release build to fail :disappointed:

hawesie commented 9 years ago

I took this out as I thought it was an error. I'll add it back today. How come the PR built ok?=

marc-hanheide commented 9 years ago

Well, this is the difference between devel and release builds. The devel build is taking the repository as a whole and compiles it. So, if there is another package in the repo that has the dependency it will be installed. In this case, I think, mongodb_log has tf as a build_depend, which causes geometry_msgs to be installed in the virtual devel build environment. Hence, the headers are found. In the release however, mongodb_store is build separately, so the package ros-hydro-geometry-msgs will not even be installed as it is (believed to be) not needed. This is one the side effects of different release and devel builds. The ROS buildfarm has the same problem and I didn't find a solution to it yet.