Linking failure on ARM hardfloat debian (Raspberry Pi) [closed]
Hello,
I am trying to compile a program which links against ros on a Raspberry Pi. I am able to build the executable on my laptop, but when I try to build on the pi, I get the following error:
/opt/ros/fuerte/lib/libroscpp.so: undefined reference to ros::DurationBase<ros::WallDuration>::isZero()
/opt/ros/fuerte/lib/libroscpp.so: undefined reference to ros::DurationBase<ros::Duration>::isZero()
collect2: ld returned 1 exit status
I found that the member function in question is part of the rostime class, and when I grep for it, it seems to exist in /opt/ros/fuerte/lib/librostime.so.
I am not using the usual ROS setup, I am just using the pkg-config files included with ROS to link against my sources. Considering that the build works on my laptop, I don't think that's the case -- but I could be wrong.
Any idea what the problem could be?
On my computer, DurationBase<T>::isZero() is defined in ros/impl/duration.h. If this file is not included, then your linker will try to find it in a library, but as a template, it probably does not exist for your use case. Can you give a little more details?