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
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
Comments