SDslam
SDslam copied to clipboard
Build_ros script fails
Hi,
I'm trying to build the present fully-ROSified version of SD-SLAM but I'm having troubles when executing the build_ros.sh script. Any hints on how I should proceed?
diego@EINSTEIN:~/SD-SLAM$ ./build_ros.sh
Ruilding ROS nodes
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /usr/bin/python (found version "2.7.12")
[rosbuild] Building package SD-SLAM
[rosbuild] Cached build flags older than manifests; calling rospack to get flags
-- Using CATKIN_DEVEL_PREFIX: /home/diego/SD-SLAM/Examples/ROS/SD-SLAM/build/devel
-- Using CMAKE_PREFIX_PATH: /home/diego/catkin_ws/devel;/opt/ros/kinetic
-- This workspace overlays: /home/diego/catkin_ws/devel;/opt/ros/kinetic
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Skip enable_testing() for dry packages
-- Using CATKIN_TEST_RESULTS_DIR: /home/diego/SD-SLAM/Examples/ROS/SD-SLAM/build/test_results
-- Found gmock sources under '/usr/src/gmock': gmock will be built
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found gtest sources under '/usr/src/gmock': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.18
-- BUILD_SHARED_LIBS is on
[rosbuild] using multiarch 'x86_64-linux-gnu' for finding Boost
Build type: Release
-- Found Eigen3: /usr/local/include/eigen3 (Required is at least version "3.1.0")
-- Boost version: 1.58.0
-- Found the following Boost libraries:
-- system
-- Configuring done
-- Generating done
-- Build files have been written to: /home/diego/SD-SLAM/Examples/ROS/SD-SLAM/build
Scanning dependencies of target rospack_genmsg_libexe
[ 0%] Built target rospack_genmsg_libexe
Scanning dependencies of target rosbuild_precompile
[ 0%] Built target rosbuild_precompile
Scanning dependencies of target Fusion
Scanning dependencies of target RGBD
Scanning dependencies of target Monocular
make[2]: *** No hay ninguna regla para construir el objetivo '../../../../lib/libSD_SLAM.so', necesario para '../RGBD'. Alto.
make[2]: *** No hay ninguna regla para construir el objetivo '../../../../lib/libSD_SLAM.so', necesario para '../Monocular'. Alto.
make[2]: *** Se espera a que terminen otras tareas....
make[2]: *** Se espera a que terminen otras tareas....
make[2]: *** No hay ninguna regla para construir el objetivo '../../../../lib/libSD_SLAM.so', necesario para '../Fusion'. Alto.
make[2]: *** Se espera a que terminen otras tareas....
[ 16%] Building CXX object CMakeFiles/Monocular.dir/src/ros_monocular.cc.o
[ 50%] Building CXX object CMakeFiles/RGBD.dir/src/ros_rgbd.cc.o
[ 50%] Building CXX object CMakeFiles/Fusion.dir/src/ros_fusion.cc.o
CMakeFiles/Makefile2:515: fallo en las instrucciones para el objetivo 'CMakeFiles/Monocular.dir/all'
make[1]: *** [CMakeFiles/Monocular.dir/all] Error 2
make[1]: *** Se espera a que terminen otras tareas....
CMakeFiles/Makefile2:584: fallo en las instrucciones para el objetivo 'CMakeFiles/RGBD.dir/all'
make[1]: *** [CMakeFiles/RGBD.dir/all] Error 2
CMakeFiles/Makefile2:621: fallo en las instrucciones para el objetivo 'CMakeFiles/Fusion.dir/all'
make[1]: *** [CMakeFiles/Fusion.dir/all] Error 2
Makefile:127: fallo en las instrucciones para el objetivo 'all'
make: *** [all] Error 2
Hi, I think the problem could be that the libSD_SLAM.so hasnt been build previously. In order for the ROS executables to compile they need the lib to be build against it.
The build_ros.sh only builds the ROS executables of SD-SLAM. So first try to build the lib with the build.sh script and only then use the build_ros.sh. Also i would recommend to use clean_build.sh before to remove all previously build files just in case