llibrostime i386 uses illegal instruction (fucomip)
Hi,
I am trying to run ROS Hydro on an Intel Galileo running Debian. I've installed ROS, the i386 version, and it's giving me an Illegal Instruction error when running the listener cpp tutorial. It appears the offending code is in librostime:
$ gdb devel/lib/beginner_tutorials/talker
...
Program received signal SIGILL, Illegal instruction.
0xb7931195 in ros::DurationBase<ros::wallduration>::fromSec(double) () from /opt/ros/hydro/lib/librostime.so
(gdb) backtrace
#0 0xb7931195 in ros::DurationBase<ros::wallduration>::fromSec(double) () from /opt/ros/hydro/lib/librostime.so
#1 0xb7e64d1a in ros::WallDuration::WallDuration(double) () from /opt/ros/hydro/lib/libroscpp.so
#2 0xb7ea1ee0 in ?? () from /opt/ros/hydro/lib/libroscpp.so
#3 0xb7ea1f82 in ?? () from /opt/ros/hydro/lib/libroscpp.so
#4 0xb7ff0202 in ?? () from /lib/ld-linux.so.2
#5 0xb7ff02d9 in ?? () from /lib/ld-linux.so.2
#6 0xb7fe287f in ?? () from /lib/ld-linux.so.2
(gdb) display/i $pc
1: x/i $pc
=> 0xb7931195 <_ZN3ros12DurationBaseINS_12WallDurationEE7fromSecEd+37>: fucomip %st(1),%st
It looks like it's using the fucomip instruction, which was added with the Pentium Pro.
I'll try to figure out how to build this from source... but is this a configuration error in the build farm? </ros::wallduration></ros::wallduration>