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

rgbdslam compiling errors on host OS??

asked 2013-04-08 10:00:46 -0500

vinot gravatar image

updated 2014-01-28 17:16:06 -0500

ngrennan gravatar image

Hello all,

I'm trying to compile rgbdslam as described in the wiki (I'm using ubuntu 12.04 64 bit). Since it worked the first time, I tried to compile again in vm with a clean installation of ubuntu12.04 to test new builds. It also compiled perfectly (but due vm limitations can't get enough usb bandwith so no data appears, but this is another point)

What surprises me is that now I get this message when compiling again in the host:

[rosmake-0] Finished <<< octomap_server ROS_NOBUILD in package octomap_server
[rosmake-3] Starting >>> kdl [ make ]
[rosmake-0] Starting >>> rgbdslam [ make ]
[rosmake-3] Finished <<< kdl ROS_NOBUILD in package kdl No Makefile in package kdl [rosmake-3] Starting >>> eigen_conversions [ make ]
[rosmake-2] Starting >>> tf_conversions [ make ]
[rosmake-2] Finished <<< tf_conversions ROS_NOBUILD in package tf_conversions
[rosmake-3] Finished <<< eigen_conversions ROS_NOBUILD in package eigen_conversions [rosmake-2] Starting >>> cv_markers [ make ]
[rosmake-2] Finished <<< cv_markers ROS_NOBUILD in package cv_markers
[ rosmake ] Last 40 linesbdslam: 226.7 sec ] [ 1 Active 46/47 Complete ] {------------------------------------------------------------------------------- /home/toni/ros/rgbdslam_freiburg/rgbdslam/src/transformation_estimation.cpp:158:70: aviso: ‘g2o::SE3Quat g2o::VertexSE3::estimateAsSE3Quat() const’ es obsoleto (declarado en /opt/ros/fuerte/include/g2o/types/slam3d/vertex_se3.h:119) [-Wdeprecated-declarations] [ 95%] Building CXX object CMakeFiles/rgbdslam.dir/src/moc_graph_manager.o [ 97%] Building CXX object CMakeFiles/rgbdslam.dir/src/moc_ros_service_ui.o [100%] Building CXX object CMakeFiles/rgbdslam.dir/src/moc_glviewer.o Linking CXX executable ../bin/rgbdslam /home/toni/ros/rgbdslam_freiburg/rgbdslam/src/node.cpp:1339: error: undefined reference to 'GOMP_sections_next' /home/toni/ros/rgbdslam_freiburg/rgbdslam/src/node.cpp:1339: error: undefined reference to 'GOMP_sections_end_nowait' /home/toni/ros/rgbdslam_freiburg/rgbdslam/src/node.cpp:1339: error: undefined reference to 'GOMP_atomic_start' /home/toni/ros/rgbdslam_freiburg/rgbdslam/src/node.cpp:1339: error: undefined reference to 'GOMP_atomic_end' /home/toni/ros/rgbdslam_freiburg/rgbdslam/src/node.cpp:1339: error: undefined reference to 'GOMP_sections_next' /home/toni/ros/rgbdslam_freiburg/rgbdslam/src/node.cpp:1339: error: undefined reference to 'GOMP_parallel_sections_start' /home/toni/ros/rgbdslam_freiburg/rgbdslam/src/node.cpp:1339: error: undefined reference to 'GOMP_parallel_end' /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:92: error: undefined reference to 'omp_get_thread_num' /usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:93: error: undefined reference to 'omp_get_num_threads' /usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h:131: error: undefined reference to 'omp_get_num_threads' /usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h:131: error: undefined reference to 'omp_get_thread_num' /usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h:131: error: undefined reference to 'omp_get_num_threads' /usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h:131: error: undefined reference to 'omp_get_thread_num' /usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h:131: error: undefined reference to 'omp_get_num_threads' /usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h:131: error: undefined reference to 'omp_get_thread_num' /usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h:145: error: undefined reference to 'GOMP_parallel_start' /usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h:145: error: undefined reference to 'GOMP_parallel_end' /usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h:47: error: undefined reference to 'omp_get_max_threads' /usr/local/include ...







(more)

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted
0

answered 2013-04-09 10:24:34 -0500

These are openmp related errors. You probably find a solution if you google for

error: undefined reference to 'GOMP_parallel_start'

By the way, if you execute

export LANG=C

in the shell before compiling, your error messages will be in english.

As far as I know, the Kinect drivers do not work in virtual machines. So before diving into debugging, you might want to check whether you actually get data from the sensor.

edit flag offensive delete link more
0

answered 2013-12-12 05:00:52 -0500

sai gravatar image

Add these lines in your CMakeLists.txt

#check for OpenMP
find_package(OpenMP)
if(OPENMP_FOUND)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
  if(MSVC90 OR MSVC10)
    if(MSVC90)
      set(OPENMP_DLL VCOMP90)
    elseif(MSVC10)
      set(OPENMP_DLL VCOMP100)
    endif(MSVC90)
    set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} /DELAYLOAD:${OPENMP_DLL}D.dll")
    set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DELAYLOAD:${OPENMP_DLL}.dll")
  endif(MSVC)
else(OPENMP_FOUND)
  message (STATUS "OpenMP not found")
endif()

if (MSVC)
  Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /O2 ${SSE_FLAGS}")
else (MSVC)
  set(CMAKE_CXX_FLAGS "-O3 ${CMAKE_CXX_FLAGS} ${SSE_FLAGS}")
  set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -O0 -g ${SSE_FLAGS}")
  set(CMAKE_CXX_FLAGS_RELEASE " ${CMAKE_CXX_FLAGS} -O3 ${SSE_FLAGS}")
endif (MSVC)
edit flag offensive delete link more

Question Tools

Stats

Asked: 2013-04-08 10:00:46 -0500

Seen: 629 times

Last updated: Dec 12 '13