Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build error in ROS Indigo #5

Closed
mb55420 opened this issue Jan 2, 2016 · 7 comments
Closed

Build error in ROS Indigo #5

mb55420 opened this issue Jan 2, 2016 · 7 comments

Comments

@mb55420
Copy link

mb55420 commented Jan 2, 2016

Dear @taihup ,

I had followed the installed guide, however I came across the following error when building sptam in ROS indigo.

It seems the issues that PCL library and openni-dev are missing.
But I already followed the guide to install pcl:
$ apt-get install ros-indigo-pcl-ros

Could you suggest me how to fix it?

THX~
MB

root@ubuntu:~/catkin_ws# catkin_make --pkg sptam -DSHOW_TRACKED_FRAMES=ON
Base path: /root/catkin_ws
Source space: /root/catkin_ws/src
Build space: /root/catkin_ws/build
Devel space: /root/catkin_ws/devel
Install space: /root/catkin_ws/install

Running command: "cmake /root/catkin_ws/src -DSHOW_TRACKED_FRAMES=ON -DCATKIN_DEVEL_PREFIX=/root/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/root/catkin_ws/install -G Unix Makefiles" in "/root/catkin_ws/build"

-- Using CATKIN_DEVEL_PREFIX: /root/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /root/catkin_ws/devel;/opt/ros/indigo
-- This workspace overlays: /root/catkin_ws/devel;/opt/ros/indigo
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /root/catkin_ws/build/test_results
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.6.16
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 1 packages in topological order:
-- ~~ - sptam
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'sptam'
-- ==> add_subdirectory(sptam)
-- Using these message generators: gencpp;genlisp;genpy
-- Boost version: 1.59.0
-- Found the following Boost libraries:
-- thread
-- system
-- regex
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- system
-- filesystem
-- thread
-- date_time
-- iostreams
-- serialization
-- checking for module 'openni-dev'
-- package 'openni-dev' not found
-- checking for module 'openni-dev'
-- package 'openni-dev' not found
-- checking for module 'openni-dev'
-- package 'openni-dev' not found
-- looking for PCL_COMMON
-- looking for PCL_OCTREE
-- looking for PCL_IO
-- looking for PCL_KDTREE
-- looking for PCL_SEARCH
-- looking for PCL_SAMPLE_CONSENSUS
-- looking for PCL_FILTERS
-- looking for PCL_FEATURES
-- looking for PCL_KEYPOINTS
-- looking for PCL_GEOMETRY
-- looking for PCL_SEGMENTATION
-- looking for PCL_VISUALIZATION
-- looking for PCL_OUTOFCORE
-- looking for PCL_REGISTRATION
-- looking for PCL_RECOGNITION
-- looking for PCL_SURFACE
-- looking for PCL_PEOPLE
-- looking for PCL_TRACKING
-- looking for PCL_APPS
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CHOLMOD_INCLUDE_DIR
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam/src/sptam
used as include directory in directory /root/catkin_ws/src/sptam/src/ros

-- Configuring incomplete, errors occurred!
See also "/root/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/root/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed
root@ubuntu:~/catkin_ws#

@taihup
Copy link
Contributor

taihup commented Jan 3, 2016

Hi MB, It looks like g2o is missing or bad configurated because the following error appear:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CHOLMOD_INCLUDE_DIR

The variable CHOLMOD_INCLUDE_DIR is defined in g2o library, maybe if you reinstall it will dissapear.

openni-dev is not required by S-PTAM so it is ok if it is not found.

Give it a shot and let me know.

Taihú

@mb55420
Copy link
Author

mb55420 commented Jan 4, 2016

Dear @taihup ,

Thanks for your reply.
Yes, I had rebuilt the g2o as guided from README.md.
Here are my steps on installing g2o:
$ svn co https://svn.openslam.org/data/svn/g2o
$ cd ~/g2o/trunk/build
$ cmake ..
$ make
$ make install

g2o header file location:
https://www.dropbox.com/s/9xbfiy1f73tcz2e/g2o_include.jpg?dl=0

g2o lib file location:
https://www.dropbox.com/s/bhkj6q6gwaaht5v/g2o_lib.jpg?dl=0

How could I fix it for the variable CHOLMOD_INCLUDE_DIR?
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CHOLMOD_INCLUDE_DIR

THX~
MB

@taihup
Copy link
Contributor

taihup commented Jan 5, 2016

Hi MB,

I have been looking this error in the web and there is an answer in: uzh-rpg/rpg_svo#29

The message:

"The reason is due to the fact that we were compiling g2o, we missed the cholmod lib so that the G2O_SOLVER_CHOLMOD is not built at all. so solve it, do the following.
$ sudo apt-get install libsuitesparse-dev libsuitesparse-metis-dev
then build the g2o again and install to it as instructed.

Hope it helps."

So the steps are:

  1. Uninstall g2o (remove completely)
  2. install suitsparse library ( sudo apt-get install libsuitesparse-dev libsuitesparse-metis-dev )
  3. Build g2o (again) and Install g2o

Let me know if it helps.

Taihú

@mb55420
Copy link
Author

mb55420 commented Jan 5, 2016

Awesome, it works :)
I just follow steps you suggested.
Thank you so much, Taihú~

MB

@taihup
Copy link
Contributor

taihup commented Jan 5, 2016

Great!

@mb55420 mb55420 closed this as completed Jan 5, 2016
@HaniItani
Copy link

HaniItani commented Jul 26, 2018

Hello @taihup

I was wondering if there is any way to build/use the SPTAM code of RAS 2017 on Ubuntu 14.04 with OpenCV 2.4 with loop closure enabled. My question comes after bumping into distributed-sptam that is said to be compatible with my system. I acknowledge that my setup is relatively archaic, but upgrading is not an option at the moment.

Any insight is much appreciated! Thank you in advance.

@taihup
Copy link
Contributor

taihup commented Jul 27, 2018

Hi @HaniItani, mmm I am not sure if it is going to work. The early version of S-PTAM used to work on 14.04 but it was not maintained anymore. I think it is possible, but could take some work. You can give it a shot. Notice that in S-PTAM we have to patch how to find the OpenCV that comes with ROS. You can find the related code in https://github.com/lrse/sptam/blob/master/cmake-modules/dependencies.cmake. So, to use opencv 2.4 you should change this, and ask OpenCV 2.4 in the right way.

Another option that you have is to install a docker with an ubuntu 16.04 image in your ubuntu 14.04. I think this is the easiest solution. Then you can install the new version of S-PTAM in the docker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants