Application compiling with libvisionworks

  1. Installed Vibrante SDK on my host Ubuntu machine.
  2. Unfortunately, the SDK doesn’t include VisionWorks shared object, so I had to copy libvisionworks.so file from my PX2 machine.
  3. Upon linking my application I get the following errors using aarch64-gnu-linux-g++. Any idea why?

/media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/…/Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21' /media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/../Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::__cxx11::basic_string<char, std::char_traits, std::allocator >::~basic_string()@GLIBCXX_3.4.21
/media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/…/Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_stringstream()@GLIBCXX_3.4.21' /media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/../Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::invalid_argument::invalid_argument(char const*)@GLIBCXX_3.4.21
/media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/…/Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to vtable for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21' /media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/../Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::__cxx11::basic_istringstream<char, std::char_traits, std::allocator >::~basic_istringstream()@GLIBCXX_3.4.21
/media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/…/Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::basic_istringstream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::_Ios_Openmode)@GLIBCXX_3.4.21' /media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/../Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long)@GLIBCXX_3.4.21
/media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/…/Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_first_of(char const*, unsigned long, unsigned long) const@GLIBCXX_3.4.21' /media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/../Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::__cxx11::basic_ostringstream<char, std::char_traits, std::allocator >::~basic_ostringstream()@GLIBCXX_3.4.21
/media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/…/Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::swap(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@GLIBCXX_3.4.21' /media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/../cudaHelper/build-cudaHelper-tegra-Release/libcudaHelper.so: undefined reference to FeatureTracker::copyKeypointsToGpuMat(_vx_array* const&, cv::cuda::GpuMat&) const’
/media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/…/Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str() const@GLIBCXX_3.4.21' /media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/../Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::__cxx11::basic_string<char, std::char_traits, std::allocator >::find_first_not_of(char const*, unsigned long, unsigned long) const@GLIBCXX_3.4.21’
/media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/…/Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21' /media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/../Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_assign(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)@GLIBCXX_3.4.21
/media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/…/Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(char const*) const@GLIBCXX_3.4.21' /media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/../Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to vtable for std::__cxx11::basic_ostringstream<char, std::char_traits, std::allocator >@GLIBCXX_3.4.21’
/media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/…/Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to std::runtime_error::runtime_error(char const*)@GLIBCXX_3.4.21' /media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/../Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to VTT for std::__cxx11::basic_ostringstream<char, std::char_traits, std::allocator >@GLIBCXX_3.4.21’
/media/user/1TBdisk/VayaDrive/sw/svn/sw/VayaDrive/…/Libs/openVX/visionworks/lib/linux/libvisionworks.so.1.6.0: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long)@GLIBCXX_3.4.21
collect2: error: ld returned 1 exit status
make: *** [VayaDrive] Error 1
11:25:17: The process “/usr/bin/make” exited with code 2.

https://devtalk.nvidia.com/default/topic/1025826/general/cross-compilation-of-the-visionworks-library/

I understand now that I’m not the only or even first that encounters this exact problem.
I wonder, since I have no alternative but to cross-compile all required elements on my host machine, what am I supposed to do at this specific point?

Hello there! Any response?

Maybe you can update your gcc library to 5.3