catkin_make vs. catkin build for CGAL [closed]
Hi all,
I have a ROS package, which did work, when I compiled it with "catkin_make". It still compiles with "catkin build" (see catkin_tools), but it does not run anymore. The created executable is using CGAL, and that library is complaining about some rounding issue, when I compile it with "catkin build".
Here is the runtime error:
terminate called after throwing an instance of 'CGAL::Assertion_exception'
what(): CGAL ERROR: assertion violation!
Expr: -CGAL_IA_MUL(-1.1, 10.1) != CGAL_IA_MUL(1.1, 10.1)
File: /usr/include/CGAL/Interval_nt.h
Line: 209
Explanation: Wrong rounding: did you forget the -frounding-math option if you use GCC (or -fp-model strict for Intel)?
Aborted (core dumped)
Does anybody has a clue, why catkin build breaks it? Here is my CMakeLists.txt:
cmake_minimum_required(VERSION 2.8.3)
project(msl_base)
## Use c++ 11x std
set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
## Enable exception handling for segfaults
set(CMAKE_CXX_FLAGS "-rdynamic -g -fnon-call-exceptions -ggdb ${CMAKE_CXX_FLAGS}")
## Used for cgal
set(CGAL_DONT_OVERRIDE_CMAKE_FLAGS TRUE CACHE BOOL "Don't override flags")
set(CMAKE_CXX_FLAGS "-lCGAL -lCGAL_Core -frounding-math ${CMAKE_CXX_FLAGS}")
## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTS
roscpp
system_config
system_util
fsystem
autodiff
event_handling
alica_engine
alica_ros_proxy
msl_expressions
msl_worldmodel
)
find_package(CGAL REQUIRED COMPONENTS Core)
###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## INCLUDE_DIRS: uncomment this if you package contains header files
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need
catkin_package(
INCLUDE_DIRS include
LIBRARIES
CATKIN_DEPENDS alica_engine alica_ros_proxy msl_expressions msl_simulator msl_worldmodel
DEPENDS cgal
)
###########
## Build ##
###########
## Specify additional locations of header files
## Your package locations should be listed before other locations
include_directories(include ${catkin_INCLUDE_DIRS} ${CGAL_INCLUDE_DIRS})
include(${CGAL_USE_FILE})
## Declare a cpp executable
add_executable(msl_base src/Base.cpp)
## Specify libraries to link a library or executable target against
target_link_libraries(msl_base ${catkin_LIBRARIES} ${CGAL_LIBRARIES})
## Add cmake target dependencies of the executable/library
## as an example, message headers may need to be generated before nodes
add_dependencies(msl_base ${catkin_LIBRARIES} ${CGAL_LIBRARIES})