Compilation fails on Haswell/Ubuntu 12.04/AMD64/ROS Hydro ("no such instruction")

Issue #11 resolved
Stefan Kohlbrecher
created an issue

When trying to compile on a relatively recent Haswell machine, I get this (relatively cryptic) error:

[ 66%] [ 68%] Building CXX object multisense/multisense_lib/sensor_api/source/LibMultiSense/CMakeFiles/MultiSense.dir/details/utility/TimeStamp.cc.o
Building CXX object multisense/multisense_lib/sensor_api/source/LibMultiSense/CMakeFiles/MultiSense.dir/details/utility/Exception.cc.o
[ 68%] Built target multisense_ros_generate_messages_cpp
Scanning dependencies of target multisense_ros_generate_messages
[ 68%] Built target multisense_ros_generate_messages
/tmp/ccUWJRN5.s: Assembler messages:
/tmp/ccUWJRN5.s:22012: Error: no such instruction: `vfmadd312sd 104(%rsp),%xmm2,%xmm1'
make[2]: *** [multisense/multisense_lib/sensor_api/source/LibMultiSense/CMakeFiles/MultiSense.dir/details/channel.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [multisense/multisense_lib/sensor_api/source/LibMultiSense/CMakeFiles/MultiSense.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed

It appears one way of solving this problem is switching to a newer GCC version or setting the -march option as suggested here.

Comments (1)

  1. Log in to comment