ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Install bag_tools on noetic focal

asked 2022-05-11 02:20:06 -0500

Kracozebr gravatar image

I'm trying to install bag tools under instruction: http://wiki.ros.org/bag_tools?distro=...
The first that I notied there is no noetic distro(
To instal bag_tools I need to install srv_tools: http://wiki.ros.org/srv_tools While installing under instructions: cd ~/catkin_ws/src mkdir srv_tools cd srv_tools git clone https://github.com/srv/srv_tools.git . cd ../.. rosdep install --from-paths src --ignore-src --rosdistro noetic # install dependencies catkin_make
The error occurs:
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message): Could NOT find Boost (missing: signals) (found version "1.71.0") Call Stack (most recent call first): /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE) /usr/share/cmake-3.16/Modules/FindBoost.cmake:2179 (find_package_handle_standard_args) srv_tools/pointcloud_tools/CMakeLists.txt:8 (find_package)
I tried to install signals for like that: sudo apt-get install -y libboost-signals-dev

But got the error E: Unable to locate package libboost-signals-devI searched and found (https://bugs.launchpad.net/ubuntu/+so...) that boos v 1.71.0 does not have library signal but has signals2 but in cmake there is the link to signals.

Also I found that last version of boost with signals was 1.68.0. Then I removed the boost:
apt-get --purge remove libboost-dev libboost-doc
Unfortunately it deleted ros packages, but I was on my way and installed the 1.68.0 version of boost:
mkidr ~/boost && cd ~/boost wget https://boostorg.jfrog.io/artifactory/main/release/1.68.0/source/boost_1_68_0.tar.gz tar -zxvf boost_1_68_0.tar.gz cd boost_1_68_0 cpuCores=`cat /proc/cpuinfo | grep "cpu cores" | uniq | awk '{print $NF}'` echo "Available CPU cores: "$cpuCores ./bootstrap.sh # this will generate ./b2 sudo ./b2 --with=all -j $cpuCores install

And tryied to recover the deleted ros packages:
apt install ros-noetic-desktop-full
After I tried catkin_make for srv_tools but the issue is the same. I checked the boost version and found that it is the 1.71.0 After apt install ros-noetic-desktop-full it recovered the newest version of boost.

May be I'm wrong in explanation of error that occurs during installation or threre is no way to install srv_tools and bag_tools on noetic?

edit retag flag offensive close merge delete

Comments

I do not have much knowledge about the packages that you are struggling with but I might have solution to your issue.

One question,

I see you have installed Boost by your own. Did you moved all the Boost related thing like library files .so and all the include headers to your system lib? if not the cmakelist won't know the location of the boost lib.

One thing you can do for quick fix is, you can remove all the boost related thing from the CmakeList and define the path to the boost in your system.

set(BOOST_LIB_PATH path/to/boost.so)
set(BOOST_INCLUDE_PATH path/to/boost/include folder)

include_directories(
include
${BOOST_INCLUDE_PATH}
)

add_executable(name_of_app src/name_of_file.cpp) # for this you do not change anything just bellow this you will add

target_link_libraries(${PROJECT_NAME}
${BOOST_LIB_PATH})

This should solve your issue if it is with the Boost lib.

aarsh_t gravatar image aarsh_t  ( 2022-05-11 14:15:54 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
1

answered 2023-06-15 01:56:23 -0500

wf_shbyrxnl gravatar image

I had the same problem, my solution was to change the

find_package(Boost REQUIRED COMPONENTS signals filesystem system)

changed to

find_package(Boost REQUIRED )

Then the compilation can pass

edit flag offensive delete link more

Comments

Yes, this appears to work.

tehkillerbee gravatar image tehkillerbee  ( 2023-07-12 06:10:38 -0500 )edit
0

answered 2022-05-12 00:29:12 -0500

Kracozebr gravatar image

Thanks, for replying. I work in official docker container for noetic focal and boost library is preinstalled by default. So there shouldn't be the issue with libraries path. As I mentioned the issue is that Could NOT find Boost (missing: signals) (found version "1.71.0")And I explain it that library boost is found (it sees its version) but library boost signals that should be installed with boost is not installed. Also I found that library signals2 is supplied with boost v 1.71.0 but not signals. The last release of boost with signals is 1.68.0 ( https://www.boost.org/doc/libs/1_68_0/) and in v 1.71.0 it not present (https://www.boost.org/doc/libs/1_71_0/).
So I should use 1.68.0 version but when I install other packages on that srv_tools depends like tf and so on the version 1.68.0 is overwritten to 1.71.0
P.S. I need bag tools to rename frame_id at lidar bag file, maybe you know the other way to change frame_id name (this is my issue https://answers.ros.org/question/4002...)

edit flag offensive delete link more

Comments

Try apt remove libboost* and apt install libboost1.67-all-dev libboost-signals1.67-dev

aarsh_t gravatar image aarsh_t  ( 2022-05-12 03:09:54 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2022-05-11 02:20:06 -0500

Seen: 419 times

Last updated: May 12 '22