# errors compiling rgbdslam, g2o errors about cholmod

Hello! I am trying to build rgbdslam and not having much luck. I am using Ubuntu 11.10 64 bit. I have latest ros electric installed. I pulled the latest rgbdslam (from http://www.informatik.uni-freiburg.de/~endres/rgbdslam/rgbdslam.tgz). I also pulled g2o from svn. g2o builds fine and all dependencies pulled down and built when I did a "rosmake --rosdep-install rgbdslam". Initially I was getting some errors related to undefined references and it appeared that the g2o libs were not being linked in. So I added all the libg2o* libraries to rgbdslam's CMakeLists.txt. This got me further but some errors remain and I'm not sure where these dependencies are.

Here is an excerpt from my buildfailures-with-context.txt:

```
[ 29%] Built target rosbuild_precompile
make[3]: Entering directory `/home/jpeverill/.ros/localstacks/rgbdslam/build'
make[3]: Leaving directory `/home/jpeverill/.ros/localstacks/rgbdslam/build'
make[3]: Entering directory `/home/jpeverill/.ros/localstacks/rgbdslam/build'
Linking CXX executable ../bin/rgbdslam
CMakeFiles/rgbdslam.dir/src/graph_manager.o: In function `LinearSolverCholmod':
/home/jpeverill/.ros/localstacks/g2o/include/g2o/solvers/cholmod/linear_solver_cholmod.h:75: undefined reference to `cholmod_start'
/home/jpeverill/.ros/localstacks/g2o/include/g2o/solvers/cholmod/linear_solver_cholmod.h:75: undefined reference to `cholmod_start'
CMakeFiles/rgbdslam.dir/src/graph_manager.o: In function `g2o::LinearSolverCholmod<Eigen::Matrix<double, 6, 6, 0, 6, 6> >::init()':
/home/jpeverill/.ros/localstacks/g2o/include/g2o/solvers/cholmod/linear_solver_cholmod.h:98: undefined reference to `cholmod_free_factor'
CMakeFiles/rgbdslam.dir/src/graph_manager.o: In function `~LinearSolverCholmod':
/home/jpeverill/.ros/localstacks/g2o/include/g2o/solvers/cholmod/linear_solver_cholmod.h:89: undefined reference to `cholmod_free_factor'
/home/jpeverill/.ros/localstacks/g2o/include/g2o/solvers/cholmod/linear_solver_cholmod.h:92: undefined reference to `cholmod_finish'
/home/jpeverill/.ros/localstacks/g2o/include/g2o/solvers/cholmod/linear_solver_cholmod.h:89: undefined reference to `cholmod_free_factor'
/home/jpeverill/.ros/localstacks/g2o/include/g2o/solvers/cholmod/linear_solver_cholmod.h:92: undefined reference to `cholmod_finish'
CMakeFiles/rgbdslam.dir/src/graph_manager.o: In function `g2o::LinearSolverCholmod<Eigen::Matrix<double, 6, 6, 0, 6, 6> >::computeSymbolicDecomposition(g2o::SparseBlockMatrix<Eigen::Matrix<double, 6, 6, 0, 6, 6> > const&)':
/home/jpeverill/.ros/localstacks/g2o/include/g2o/solvers/cholmod/linear_solver_cholmod.h:252: undefined reference to `cholmod_analyze'
/home/jpeverill/.ros/localstacks/g2o/include/g2o/solvers/cholmod/linear_solver_cholmod.h:278: undefined reference to `cholmod_amd'
/home/jpeverill/.ros/localstacks/g2o/include/g2o/solvers/cholmod/linear_solver_cholmod.h:301: undefined reference to `cholmod_analyze_p'
CMakeFiles/rgbdslam.dir/src/graph_manager.o: In function `g2o::LinearSolverCholmod<Eigen::Matrix<double, 6, 6, 0, 6, 6> >::solvePattern(g2o::SparseBlockMatrix<Eigen::Matrix<double, -1, -1, 0, -1, -1> >&, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > const&, g2o::SparseBlockMatrix<Eigen::Matrix<double, 6, 6, 0, 6, 6> > const&)':
/home/jpeverill/.ros/localstacks/g2o/include/g2o/solvers/cholmod/linear_solver_cholmod.h:202: undefined reference to `cholmod_factorize'
/home/jpeverill/.ros/localstacks/g2o/include/g2o/solvers/cholmod/linear_solver_cholmod.h:207: undefined reference to `cholmod_change_factor'
CMakeFiles/rgbdslam.dir/src/graph_manager.o: In function `g2o::LinearSolverCholmod<Eigen::Matrix<double, 6, 6, 0, 6, 6> >::solve(g2o::SparseBlockMatrix<Eigen::Matrix<double, 6, 6 ...
```