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

Boost not found?

asked 2015-03-05 02:28:55 -0600

Ruud gravatar image

updated 2015-03-05 07:55:49 -0600

I recently upgraded from Ubuntu 12 to 14.04. I also upgraded ROS Groovy to Indigo.

However, when I migrated one of my packages, it could not find boost anymore during compilation :

make[2]: *** No rule to make target `/usr/lib/libboost_thread-mt.so', needed by ...

The compiler does seem to find Boost :

-- Boost version: 1.54.0
-- Found the following Boost libraries:
--   thread

And Boost seems to be properly installed, although without the -mt part under :

/usr/lib/libboost_thread.so.1.54.0

In my CMakeLists I have the following code regarding Boost :

find_package(Boost REQUIRED COMPONENTS thread)
include_directories(include ${catkin_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS})
target_link_libraries(my_node ${Boost_LIBRARIES} ${catkin_LIBRARIES})

The issue look similar to the one posted here : http://answers.ros.org/question/19348...

Thank you for any ideas!

Ruud

PS: My total CMakeLists

cmake_minimum_required(VERSION 2.8.3)
project(visual_servo_control)

find_package(catkin REQUIRED COMPONENTS
  tf
  roscpp
  rospy
  std_msgs
  message_generation 
  geometry_msgs
  image_transport
)

## Generate messages in the 'msg' folder
add_message_files(
    FILES
)

## Generate services in the 'srv' folder
add_service_files(
   FILES
   request_servo_velocity_vector.srv
)

## Generate added messages and services with any dependencies listed here
generate_messages(
   DEPENDENCIES
   std_msgs
)

catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES hdev_engine
   CATKIN_DEPENDS roscpp rospy std_msgs
#  DEPENDS system_lib
)

## Specify additional locations of header files
## Your package locations should be listed before other locations
include_directories(${catkin_INCLUDE_DIRS})
include_directories(include)

## Declare a cpp executable
add_executable(my_node src/my_node.cpp)

## Add cmake target dependencies of the executable/library
## as an example, message headers may need to be generated before nodes
add_dependencies(my_node my_node_generate_messages_cpp)

find_package(Boost REQUIRED COMPONENTS thread)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(my_node ${Boost_LIBRARIES})

find_package(VISP REQUIRED)
include_directories(${VISP_INCLUDE_DIRS})
target_link_libraries(my_node ${VISP_LIBRARIES})

## Specify libraries to link a library or executable target against
target_link_libraries(my_node ${catkin_LIBRARIES})

add_executable(cycle_node src/cycle_node.cpp)
target_link_libraries(cycle_node ${catkin_LIBRARIES})
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2015-03-09 05:52:26 -0600

Ruud gravatar image

Apparently the library OGRE included in the ViSP library is causing this error. Recompiling ViSP without OGRE solves the problem.

More information can be found here: https://gforge.inria.fr/forum/forum.p...

However a full solution or a deeper understanding what causes this issue is not yet provided.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2015-03-05 02:28:55 -0600

Seen: 1,065 times

Last updated: Mar 09 '15