Linking failure on ARM hardfloat debian (Raspberry Pi) [closed]

asked 2013-03-13 16:31:06 -0500

squarebracket gravatar image

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?

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2015-11-06 16:08:57.747502

Comments

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?

po1 gravatar image po1  ( 2013-03-14 12:52:17 -0500 )edit