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

Note that grep doesn't return anything about v1.65.1

Seeing as you're running Ubuntu Trusty (14.04), I'm pretty certain that the 1.65.x install of Boost was compiled from sources. Trusty comes with Boost 1.54.

The fact that your code compiles with 1.54 when you don't use demangle.hpp probably makes sense, as that was only introduced in 1.56 (before that it could have been demangled_name.hpp (from here)).

So to summarise:

I believe that CMake is finding Boost alright, but that you're trying to use files that don't exist in the Boost version that CMake finds (ie: 1.54).

If you really want to use the newer Boost, you could try something like find_package(Boost REQUIRED 1.65 COMPONENTS ..). Provided all required files are on CMake's search path, it should ignore 1.54 and go with the newer one.

Note that mixing Boost versions is not recommended at all. There are plenty of questions about that on ROS Answers, so you could take a look at those to read about some potential consequences.

Note that grep doesn't return anything about v1.65.1

Seeing as you're running Ubuntu Trusty (14.04), I'm pretty certain that the 1.65.x install of Boost was compiled from sources. sources (or came from a PPA, or somewhere else, but not from the official pkgs). Trusty comes with Boost 1.54.

The fact that your code compiles with 1.54 when you don't use demangle.hpp probably makes sense, as that was only introduced in 1.56 (before that it could have been demangled_name.hpp (from here)).

So to summarise:

I believe that CMake is finding Boost alright, but that you're trying to use files that don't exist in the Boost version that CMake finds (ie: 1.54).

If you really want to use the newer Boost, you could try something like find_package(Boost REQUIRED 1.65 COMPONENTS ..). Provided all required files are on CMake's search path, it should ignore 1.54 and go with the newer one.

Note that mixing Boost versions is not recommended at all. There are plenty of questions about that on ROS Answers, so you could take a look at those to read about some potential consequences.