glim icon indicating copy to clipboard operation
glim copied to clipboard

CMake error: cannot find interactive_viewer

Open aled96 opened this issue 1 year ago • 1 comments

I am trying to install and compile GLIM.

Running catkin buil / catkin_make, I get the following error:

In file included from /opt/ros/noetic/include/gtsam/nonlinear/Values.h:571,
                 from /opt/ros/noetic/include/gtsam/nonlinear/NonlinearFactor.h:24,
                 from /opt/ros/noetic/include/gtsam/nonlinear/PriorFactor.h:18,
                 from /opt/ros/noetic/include/gtsam/slam/PriorFactor.h:20,
                 from /home/alessio/horizon_ws/src/glim_slam/glim_ros1/src/offline_viewer.cpp:10:
/opt/ros/noetic/include/gtsam/nonlinear/Values-inl.h: In member function ‘gtsam::Values::Filtered<gtsam::Value> gtsam::Values::filter(const std::function<bool(long unsigned int)>&)’:
/opt/ros/noetic/include/gtsam/nonlinear/Values-inl.h:253:35: warning: ‘gtsam::Values::Filtered<ValueType> gtsam::Values::filter(const std::function<bool(long unsigned int)>&) [with ValueType = gtsam::Value]’ is deprecated [-Wdeprecated-declarations]
  253 |     return filter<Value>(filterFcn);
      |                                   ^
In file included from /opt/ros/noetic/include/gtsam/nonlinear/NonlinearFactor.h:24,
                 from /opt/ros/noetic/include/gtsam/nonlinear/PriorFactor.h:18,
                 from /opt/ros/noetic/include/gtsam/slam/PriorFactor.h:20,
                 from /home/alessio/horizon_ws/src/glim_slam/glim_ros1/src/offline_viewer.cpp:10:
/opt/ros/noetic/include/gtsam/nonlinear/Values.h:421:5: note: declared here
  421 |     filter(const std::function<bool(Key)>& filterFcn = &_truePredicate<Key>);
      |     ^~~~~~
In file included from /opt/ros/noetic/include/gtsam/nonlinear/Values.h:571,
                 from /opt/ros/noetic/include/gtsam/nonlinear/NonlinearFactor.h:24,
                 from /opt/ros/noetic/include/gtsam/nonlinear/PriorFactor.h:18,
                 from /opt/ros/noetic/include/gtsam/slam/PriorFactor.h:20,
                 from /home/alessio/horizon_ws/src/glim_slam/glim_ros1/src/offline_viewer.cpp:10:
/opt/ros/noetic/include/gtsam/nonlinear/Values-inl.h: In member function ‘gtsam::Values::ConstFiltered<gtsam::Value> gtsam::Values::filter(const std::function<bool(long unsigned int)>&) const’:
/opt/ros/noetic/include/gtsam/nonlinear/Values-inl.h:265:35: warning: ‘gtsam::Values::ConstFiltered<ValueType> gtsam::Values::filter(const std::function<bool(long unsigned int)>&) const [with ValueType = gtsam::Value]’ is deprecated [-Wdeprecated-declarations]
  265 |     return filter<Value>(filterFcn);
      |                                   ^
In file included from /opt/ros/noetic/include/gtsam/nonlinear/NonlinearFactor.h:24,
                 from /opt/ros/noetic/include/gtsam/nonlinear/PriorFactor.h:18,
                 from /opt/ros/noetic/include/gtsam/slam/PriorFactor.h:20,
                 from /home/alessio/horizon_ws/src/glim_slam/glim_ros1/src/offline_viewer.cpp:10:
/opt/ros/noetic/include/gtsam/nonlinear/Values.h:429:47: note: declared here
  429 |     ConstFiltered<ValueType> GTSAM_DEPRECATED filter(
      |                                               ^~~~~~
/usr/bin/ld: cannot find -linteractive_viewer
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/offline_viewer.dir/build.make:194: /home/alessio/horizon_ws/devel/.private/glim_ros/lib/glim_ros/offline_viewer] Error 1
make[1]: *** [CMakeFiles/Makefile2:1730: CMakeFiles/offline_viewer.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/usr/bin/ld: /home/alessio/horizon_ws/devel/.private/glim_ros/lib/libglim_ros.so: undefined reference to `gtsam_points::create_nonlinear_factor_set_gpu()'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/glim_rosnode.dir/build.make:194: /home/alessio/horizon_ws/devel/.private/glim_ros/lib/glim_ros/glim_rosnode] Error 1
make[1]: *** [CMakeFiles/Makefile2:1678: CMakeFiles/glim_rosnode.dir/all] Error 2
/usr/bin/ld: /home/alessio/horizon_ws/devel/.private/glim_ros/lib/libglim_ros.so: undefined reference to `gtsam_points::create_nonlinear_factor_set_gpu()'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/glim_rosbag.dir/build.make:194: /home/alessio/horizon_ws/devel/.private/glim_ros/lib/glim_ros/glim_rosbag] Error 1
make[1]: *** [CMakeFiles/Makefile2:1704: CMakeFiles/glim_rosbag.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

Do you know how to fix it?

Thank you very much!

aled96 avatar Feb 27 '25 16:02 aled96

It seems like gtsam_points was built without CUDA. Can you check if build options for gtsam_points are properly configured?

koide3 avatar Mar 06 '25 06:03 koide3