Robotics StackExchange | Archived questions

BFL not installing package information under /share (missing robot_pose_ekf dependency)

Hello all!

I am trying to install ROS mobile meta-package/stack on a Raspbian (Raspberry Pi Model B) following the instructions on this link: www.ros.org/wiki/groovy/Installation/Raspbian/Source (sorry about no link, seems like I have bad karma...)

I am just following that recipe now, so it is a Groovy installation on the lastest Raspbian OS.

Everthing works great, and I managed to finish the catkin part of the build successfully (after some days of native compilation). Now I am facing a missing dependency error given by rosmake on package robotposeekf:

  mkdir -p bin
  cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=/opt/ros/groovy/share/ros/core/rosbuild/rostoolchain.cmake  ..
  [rosbuild] Building package robot_pose_ekf
  Failed to invoke /opt/ros/groovy/bin/rospack deps-manifests robot_pose_ekf
  [rospack] Error: package/stack 'robot_pose_ekf' depends on non-existent package 'bfl' and rosdep claims that it is not a system dependency. Check the ROS_PACKAGE_PATH or try calling 'rosdep update'

Checking whether catkin compiled and installed the bfl package right, I did a:

pi@raspberrypi /opt/ros/groovy/ros_catkin_ws/build_isolated/bfl $ ../../../env.s
h make install
[ 40%] Built target orocos-bfl
[ 48%] Built target test_complete_filter
[ 51%] Built target test_ekf
[ 55%] Built target test_matrixwrapper
[ 59%] Built target test_model
[ 63%] Built target test_pdf
[ 67%] Built target test_sample
[ 73%] Built target test_smoother
[ 77%] Built target test_compare_filters
[ 81%] Built target test_linear_kalman
[ 84%] Built target test_nonlinear_kalman
[ 91%] Built target test_nonlinear_particle
[ 94%] Built target test_kalman_smoother
[100%] Built target test_discrete_filter
Install the project...
-- Install configuration: "Debug"
-- Up-to-date: /opt/ros/groovy/lib/pkgconfig/orocos-bfl.pc
-- Up-to-date: /opt/ros/groovy/include/bfl/bfl_constants.h
-- Up-to-date: /opt/ros/groovy/include/bfl/bfl_err.h
-- Up-to-date: /opt/ros/groovy/lib/liborocos-bfl.so
-- Up-to-date: /opt/ros/groovy/include/bfl/wrappers/config.h
-- Up-to-date: /opt/ros/groovy/include/bfl/wrappers/matrix/matrix_wrapper.h
-- Up-to-date: /opt/ros/groovy/include/bfl/wrappers/matrix/vector_wrapper.h
-- Up-to-date: /opt/ros/groovy/include/bfl/wrappers/matrix/matrix_BOOST.h
-- Up-to-date: /opt/ros/groovy/include/bfl/wrappers/matrix/vector_BOOST.h
-- Up-to-date: /opt/ros/groovy/include/bfl/wrappers/matrix/matrix_NEWMAT.h
-- Up-to-date: /opt/ros/groovy/include/bfl/wrappers/matrix/vector_NEWMAT.h
-- Up-to-date: /opt/ros/groovy/include/bfl/wrappers/matrix/matrix_LTI.h
-- Up-to-date: /opt/ros/groovy/include/bfl/wrappers/matrix/vector_LTI.h
-- Up-to-date: /opt/ros/groovy/include/bfl/wrappers/config.h
-- Up-to-date: /opt/ros/groovy/include/bfl/wrappers/rng/rng.h
-- Up-to-date: /opt/ros/groovy/include/bfl/sample/sample.h
-- Up-to-date: /opt/ros/groovy/include/bfl/sample/sample.cpp
-- Up-to-date: /opt/ros/groovy/include/bfl/sample/weightedsample.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/pdf.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/conditionalpdf.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/discretepdf.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/discreteconditionalpdf.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/mcpdf.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/mcpdf.cpp
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/gaussian.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/uniform.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/conditionalgaussian.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/conditionalgaussian_additivenoise.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/analyticconditionalgaussian.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/analyticconditionalgaussian_additivenoise.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/linearanalyticconditionalgaussian.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/filterproposaldensity.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/EKF_proposaldensity.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/mixture.h
-- Up-to-date: /opt/ros/groovy/include/bfl/pdf/mixture.cpp
-- Up-to-date: /opt/ros/groovy/include/bfl/model/systemmodel.h
-- Up-to-date: /opt/ros/groovy/include/bfl/model/systemmodel.cpp
-- Up-to-date: /opt/ros/groovy/include/bfl/model/measurementmodel.h
-- Up-to-date: /opt/ros/groovy/include/bfl/model/measurementmodel.cpp
-- Up-to-date: /opt/ros/groovy/include/bfl/model/analyticsystemmodel_gaussianuncertainty.h
-- Up-to-date: /opt/ros/groovy/include/bfl/model/analyticmeasurementmodel_gaussianuncertainty.h
-- Up-to-date: /opt/ros/groovy/include/bfl/model/linearanalyticmeasurementmodel_gaussianuncertainty.h
-- Up-to-date: /opt/ros/groovy/include/bfl/model/linearanalyticsystemmodel_gaussianuncertainty.h
-- Up-to-date: /opt/ros/groovy/include/bfl/model/discretesystemmodel.h
-- Up-to-date: /opt/ros/groovy/include/bfl/model/linearanalyticmeasurementmodel_gaussianuncertainty_implicit.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/filter.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/filter.cpp
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/particlefilter.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/particlefilter.cpp
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/bootstrapfilter.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/bootstrapfilter.cpp
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/asirfilter.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/asirfilter.cpp
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/kalmanfilter.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/extendedkalmanfilter.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/iteratedextendedkalmanfilter.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/EKparticlefilter.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/SRiteratedextendedkalmanfilter.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/innovationCheck.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/histogramfilter.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/histogramfilter.cpp
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/mixtureParticleFilter.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/mixtureParticleFilter.cpp
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/mixtureBootstrapFilter.h
-- Up-to-date: /opt/ros/groovy/include/bfl/filter/mixtureBootstrapFilter.cpp
-- Up-to-date: /opt/ros/groovy/include/bfl/smoother/backwardfilter.h
-- Up-to-date: /opt/ros/groovy/include/bfl/smoother/backwardfilter.cpp
-- Up-to-date: /opt/ros/groovy/include/bfl/smoother/rauchtungstriebel.h
-- Up-to-date: /opt/ros/groovy/include/bfl/smoother/particlesmoother.h
-- Up-to-date: /opt/ros/groovy/include/bfl/smoother/particlesmoother.cpp
-- Up-to-date: /opt/ros/groovy/bin/bfl/test_compare_filters
-- Up-to-date: /opt/ros/groovy/bin/bfl/test_linear_kalman
-- Up-to-date: /opt/ros/groovy/bin/bfl/test_nonlinear_kalman
-- Up-to-date: /opt/ros/groovy/bin/bfl/test_nonlinear_particle
-- Up-to-date: /opt/ros/groovy/bin/bfl/test_kalman_smoother
-- Up-to-date: /opt/ros/groovy/bin/bfl/test_discrete_filter

Seems like everything is good. Except that no package information was installed under /opt/ros/groovy/share/bfl, so, seems like rosmake is right in complaining about the missing dependency (at least the missing information that the dependency was installed).

I am pretty sure that removing bfl as a dependency from navigation/robotposeekf/manifest.xml and navigation/stack.xml will solve the problem, but I would rather solve the dependency issue.

Is this something really wrong with the bfl package? Or is it my build somehow? How can I solve that the best way possible?

Thanks!


Update: removing bfl as a dependency for the navigation/robotposeekl and navigation package/stack will get it a little bit further, but compilation will fail right after with a:

  [ 66%] Building CXX object CMakeFiles/robot_pose_ekf.dir/src/odom_estimation.cpp.o
  In file included from /opt/ros/groovy/ros_ws/navigation/robot_pose_ekf/src/odom_estimation.cpp:37:0:
  /opt/ros/groovy/ros_ws/navigation/robot_pose_ekf/include/robot_pose_ekf/odom_estimation.h:40:41: fatal error: filter/extendedkalmanfilter.h: No such file or directory
  compilation terminated.
  make[3]: *** [CMakeFiles/robot_pose_ekf.dir/src/odom_estimation.cpp.o] Error 1
  make[3]: Leaving directory `/opt/ros/groovy/ros_ws/navigation/robot_pose_ekf/build'
  make[2]: *** [CMakeFiles/robot_pose_ekf.dir/all] Error 2
  make[2]: Leaving directory `/opt/ros/groovy/ros_ws/navigation/robot_pose_ekf/build'
  make[1]: *** [all] Error 2
  make[1]: Leaving directory `/opt/ros/groovy/ros_ws/navigation/robot_pose_ekf/build'

As seen above, the extendendedkalmanfilter.h file is under /include/bfl, seems like make isn't going at that depth.

Any ideas?

Asked by Marco Poli on 2013-03-05 08:08:34 UTC

Comments

Answers

Did you find a solution? We're having a similar problem with this package but on fuerte (and not groovy). So, if you have any insight (and time), please, share!

Asked by mhallak on 2013-05-08 22:04:08 UTC

Comments

Hi guys! Have you solved the problem?

Asked by zurish on 2015-03-12 21:35:27 UTC

I removed bfl/ from each include. i.e. #include <bfl/wrappers/rng/rng.h> becomes #include <wrappers/rng/rng.h>

https://github.com/mryellow/navigation/commit/e9c3ad1522921bc1356f638dcd2c6f9c883fb77c

I imagine this path can be adjusted with CMakeLists.txt though not sure how to go about it.

Asked by Mr-Yellow on 2016-08-14 21:16:57 UTC