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

Revision history [back]

click to hide/show revision 1
initial version

Setting LD_LIBRARY_PATH will likely not do anything. That's a runtime setting.

This is purely a "CMake thing". According to the FindBoost.cmake documentation:

This module reads hints about search locations from variables:

  • BOOST_ROOT, BOOSTROOT

    Preferred installation prefix.

You should be able to do something like:

catkin_make [all your other args] --cmake-args -DBOOST_ROOT:PATHNAME=/path/to/your/boost

But: please be aware that mixing different Boost versions is fraught with potential problems.

You cannot link a ROS node to multiple versions of Boost, which is what will happen when you link abb_robot_driver's nodes against roscpp (which it must) and your custom Boost version.

Unless you've built the whole of your ROS Noetic from source with that specific Boost version, I wouldn't recommend doing what you're trying to do.

Setting LD_LIBRARY_PATH will likely not do anything. That's a runtime setting.

This is purely a "CMake thing". According to the FindBoost.cmake documentation:

This module reads hints about search locations from variables:

  • BOOST_ROOT, BOOSTROOT

    Preferred installation prefix.

You should be able to do something like:

catkin_make [all your other args] --cmake-args -DBOOST_ROOT:PATHNAME=/path/to/your/boost

This might or might not work, depending on whether the package(s) you're trying to build are the first to look for Boost. If one of the dependencies have already done that, and the result gets cached or exported, your dependents will most likely not evaluate FindBoost again, leading to your BOOST_ROOT being ignored.

But: in all cases: please be aware that mixing different Boost versions is fraught with potential problems.

You cannot link a ROS node to multiple versions of Boost, which is what will happen when you link abb_robot_driver's nodes against roscpp (which it must) and your custom Boost version.

Unless you've built the whole of your ROS Noetic from source with that specific Boost version, I wouldn't recommend doing what you're trying to do.

Setting LD_LIBRARY_PATH will likely not do anything. That's a runtime setting.

This is purely a "CMake thing". According to the FindBoost.cmake documentation:

This module reads hints about search locations from variables:

  • BOOST_ROOT, BOOSTROOT

    Preferred installation prefix.

You should be able to do something like:

catkin_make [all your other args] --cmake-args -DBOOST_ROOT:PATHNAME=/path/to/your/boost

This might or might not work, depending on whether the package(s) you're trying to build are the first to look for Boost. If one of the dependencies have already done that, and the result gets cached or exported, your dependents will most likely not evaluate FindBoost again, leading to your BOOST_ROOT being ignored.

But in all cases: please be aware that mixing different Boost versions is fraught with potential problems.

Mostly SEGFAULTs.

You cannot link a ROS node to multiple versions of Boost, which is what will happen when you link abb_robot_driver's nodes against roscpp (which it must) and your custom Boost version.

Unless you've built the whole of your ROS Noetic from source with that specific Boost version, I wouldn't recommend doing what you're trying to do.