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

Revision history [back]

I realized that the Homebrew formula placed the header files directly under /usr/local/Cellar/suite-sparse/4.5.1/include. That is, there is no /usr/local/Cellar/suite-sparse/4.5.1/include/suitesparse directory.

Therefore, by changing the include directives in SBA, specifically in csparse.h, to #include "cs.h" and #include "cholmod.h", I was able to compile the sparse_bundle_adjustment package.

Alternatively, it also works if I create the following symlink myself and keep SBA untouched:

ln -s /usr/local/Cellar/suite-sparse/4.5.1/include /usr/local/include/suitesparse

PS. I was able to build slam_karto too afterwards.

I realized that the Homebrew formula placed the header files directly under /usr/local/Cellar/suite-sparse/4.5.1/include. That is, there is no /usr/local/Cellar/suite-sparse/4.5.1/include/suitesparse directory.directory. (By contrast, in Ubuntu the headers are placed under /usr/include/suitesparse)

Therefore, by changing the include directives in SBA, specifically in csparse.h, to #include "cs.h" and #include "cholmod.h", I was able to compile the sparse_bundle_adjustment package.

Alternatively, it also works if I create the following symlink myself and keep SBA untouched:

ln -s /usr/local/Cellar/suite-sparse/4.5.1/include /usr/local/include/suitesparse

PS. I was able to build slam_karto too afterwards.