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
OpenCV version used: 3.4.6, 3.4.13, 4.1.0 (tried on these three)
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: