royale-ros: errors when linking with royale SDK libraries
I am trying to build the ROS package royale-ros.
I installed the most recent royale SDK as described here as a debian package.
When I try to build the package with catkin_make
as described here, I get the following errors while linking:
dominik@ubuntu:~/catkin_ws/royale$ catkin_make
Base path: /home/dominik/catkin_ws/royale
Source space: /home/dominik/catkin_ws/royale/src
Build space: /home/dominik/catkin_ws/royale/build
Devel space: /home/dominik/catkin_ws/royale/devel
Install space: /home/dominik/catkin_ws/royale/install
####
#### Running command: "make cmake_check_build_system" in "/home/dominik/catkin_ws/royale/build"
####
####
#### Running command: "make -j1 -l1" in "/home/dominik/catkin_ws/royale/build"
####
[ 0%] Built target _royale_ros_generate_messages_check_deps_Config
[ 0%] Built target std_msgs_generate_messages_cpp
[ 0%] Built target _royale_ros_generate_messages_check_deps_Stop
[ 0%] Built target _royale_ros_generate_messages_check_deps_SetExposureTime
[ 0%] Built target _royale_ros_generate_messages_check_deps_Dump
[ 0%] Built target _royale_ros_generate_messages_check_deps_Start
[ 0%] Built target _royale_ros_generate_messages_check_deps_ExposureTimes
[ 4%] Generating C++ code from royale_ros/ExposureTimes.msg
[ 8%] Generating C++ code from royale_ros/SetExposureTime.msg
[ 12%] Generating C++ code from royale_ros/Start.srv
[ 16%] Generating C++ code from royale_ros/Config.srv
[ 20%] Generating C++ code from royale_ros/Dump.srv
[ 25%] Generating C++ code from royale_ros/Stop.srv
[ 25%] Built target royale_ros_generate_messages_cpp
Scanning dependencies of target config
[ 29%] Building CXX object royale/CMakeFiles/config.dir/src/config.cpp.o
Linking CXX executable /home/dominik/catkin_ws/royale/devel/lib/royale_ros/config
[ 29%] Built target config
Scanning dependencies of target dump
[ 33%] Building CXX object royale/CMakeFiles/dump.dir/src/dump.cpp.o
Linking CXX executable /home/dominik/catkin_ws/royale/devel/lib/royale_ros/dump
[ 33%] Built target dump
Linking CXX executable /home/dominik/catkin_ws/royale/devel/lib/royale_ros/lscam
/opt/libroyale-3.12.0.44-LINUX-x86-64Bit/bin/libroyale.so: undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21'
/opt/libroyale-3.12.0.44-LINUX-x86-64Bit/bin/libroyale.so: undefined reference to `std::logic_error::logic_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@GLIBCXX_3.4.21'
/opt/libroyale-3.12.0.44-LINUX-x86-64Bit/bin/libroyale.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@GLIBCXX_3.4.21'
/opt/libroyale-3.12.0.44-LINUX-x86-64Bit/bin/libroyale.so: undefined reference to `std::logic_error::logic_error(std::logic_error const&)@GLIBCXX_3.4.21'
/opt/libroyale-3.12.0.44-LINUX-x86-64Bit/bin/libroyale.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long)@GLIBCXX_3.4.21'
/opt/libroyale-3.12.0.44-LINUX-x86-64Bit/bin/libroyale.so: undefined reference to `std::length_error::length_error(char const*)@GLIBCXX_3.4.21'
/opt/libroyale-3.12.0.44-LINUX-x86-64Bit/bin/libroyale.so: undefined reference to `std::out_of_range::out_of_range(char const*)@GLIBCXX_3.4.21'
/opt/libroyale-3.12.0.44-LINUX-x86-64Bit/bin/libroyale.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::resize(unsigned long, char)@GLIBCXX_3.4.21'
/opt/libroyale-3.12.0.44-LINUX-x86-64Bit/bin/libroyale.so: undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21'
/opt/libroyale-3.12.0.44-LINUX-x86-64Bit/bin/libspectre3.so: undefined reference to `std::__cxx11::basic_string ...
Is this a cross-post of lovepark/royale-ros#2?
Yes, it is a cross-post. I'm a little bit frustrated tbh. The problem is, that they can't really help me. Furthermore, I get a similar (also GLIBCXX_3.4.21 related error), when I try to use this library: https://github.com/code-iai/pico_flex... . So you think that it is a
royale
error?Btw: this situation (with your cross-post on the
royale-ros
issue tracker and one here) is exactly why cross-posts are frowned upon: both me (and by extension the ROS Answers community) and theroyale-ros
devs are now suggestion possible solutions, without knowing this from one another.I was about to try and see whether I could quickly check what is going wrong with the
royale-ros
pkgs with the3.11
SDK, but, apart from the fact that I don't appear to be able to access the SDK, I also just read that aroyale-ros
dev is going to do the exact same thing. I realise that .... from your perspective having multiple people try and troubleshoot your issue looks like a good thing, but in reality it's essentially just duplicated (and wasted) effort for me and the
royale-ros
dev.