Boost not found?
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})