MIT-SPARK / Kimera-Semantics

Real-Time 3D Semantic Reconstruction from 2D data
BSD 2-Clause "Simplified" License
631 stars 134 forks source link

Catkin build failed: ld:error #64

Open shaheer34mts opened 3 years ago

shaheer34mts commented 3 years ago

Description: Hi, I am trying to build the Kimera_semantics_ros package, but I am getting an ld:error related to libopencv_freetype.so.3.2.0. it cannot find multiple references to harfbuzz variables, and the build fails. I have tried various versions of opencv's. Opencv installs fine but the build never succeeds. any idea how to solve this ? I am attaching the error output of console as well. Thanks in advance

Console output:

ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_shape
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_buffer_guess_segment_properties
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_ft_font_create
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_buffer_destroy
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_font_destroy
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_buffer_add_utf8
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_buffer_get_glyph_infos
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_buffer_create
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [/media/msh/2CE21012E20FDEC8/ubuntu_home/Kimera_Semantics/devel/lib/kimera_semantics_ros/kimera_semantics_node] Error 1
make[1]: *** [CMakeFiles/kimera_semantics_node.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
In file included from /media/msh/2CE21012E20FDEC8/ubuntu_home/Kimera_Semantics/src/Kimera-Semantics/kimera_semantics_ros/src/kimera_semantics_rosbag.cpp:8:
In file included from /opt/ros/melodic/include/ros/ros.h:38:
In file included from /opt/ros/melodic/include/ros/time.h:58:
In file included from /usr/include/boost/math/special_functions/round.hpp:14:
In file included from /usr/include/boost/math/policies/error_handling.hpp:12:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/iomanip:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/locale:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/locale_conv.h:41:
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h:81:2: warning: delete called on 'voxblox::TsdfIntegratorBase' that is abstract but has non-virtual destructor [-Wdelete-abstract-non-virtual-dtor]
        delete __ptr;
        ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h:292:4: note: in instantiation of member function 'std::default_delete<voxblox::TsdfIntegratorBase>::operator()' requested here
          get_deleter()(std::move(__ptr));
          ^
/media/msh/2CE21012E20FDEC8/ubuntu_home/Kimera_Semantics/src/voxblox/voxblox_ros/include/voxblox_ros/tsdf_server.h:46:11: note: in instantiation of member function 'std::unique_ptr<voxblox::TsdfIntegratorBase, std::default_delete<voxblox::TsdfIntegratorBase> >::~unique_ptr' requested here
  virtual ~TsdfServer() {}
          ^
1 warning generated.
ld: error: undefined symbol: cv::Mat::Mat()
>>> referenced by kimera_semantics_rosbag.cpp
>>>               CMakeFiles/kimera_semantics_rosbag.dir/src/kimera_semantics_rosbag.cpp.o:(kimera::PointCloudFromDepth::imageCb(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&))
>>> did you mean: cv::Mat::~Mat()
>>> defined in: /opt/ros/melodic/lib/libdepth_image_proc.so

ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_shape
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_buffer_guess_segment_properties
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_ft_font_create
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_buffer_destroy
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_font_destroy
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_buffer_add_utf8
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_buffer_get_glyph_infos
ld: error: /usr/lib/x86_64-linux-gnu/libopencv_freetype.so.3.2.0: undefined reference to hb_buffer_create
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [/media/msh/2CE21012E20FDEC8/ubuntu_home/Kimera_Semantics/devel/lib/kimera_semantics_ros/kimera_semantics_rosbag] Error 1
make[1]: *** [CMakeFiles/kimera_semantics_rosbag.dir/all] Error 2
make: *** [all] Error 2