I am getting trouble with this error: "SSE instruction set not enabled". How I can figure this out?
I have ACER i7, Ubuntu 11.10, please any one can help me?
Any help will be appreciated!
Also running:
sudo cat /proc/cpuinfo | grep flags
Gives:
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clfl
ush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfm
on pebs bts xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl
vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 x2apic popcnt xsave avx lahf_lm
ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid
Actually i was trying to install gazebo-1.0.0-RC2-x86_64, and getting this error.
/usr/lib/gcc/i686-linux-gnu/4.6.1/include/emmintrin.h:32:3: error: #error "SSE2
instruction set not enabled"
In file included from /home/bkhelifa/Downloads/software/gazebo-1.0.0-RC2-x86_64/
deps/opende/src/quickstep.cpp:39:0:
/usr/lib/gcc/i686-linux-gnu/4.6.1/include/xmmintrin.h:32:3: error: #error "SSE i
nstruction set not enabled"
/home/bkhelifa/Downloads/software/gazebo-1.0.0-RC2-x86_64/deps/opende/src/quicks
tep.cpp: In function ‘dReal dot6(dRealPtr, dRealPtr)’:
/home/bkhelifa/Downloads/software/gazebo-1.0.0-RC2-x86_64/deps/opende/src/quicks
tep.cpp:537:3: error: ‘__m128d’ was not declared in this scope
...
I already have this option in my cmakefile
if (SSE3_FOUND)
set (CMAKE_C_FLAGS_ALL "${CMAKE_C_FLAGS_ALL} -msse3")
endif()
if (SSSE3_FOUND)
set (CMAKE_C_FLAGS_ALL "${CMAKE_C_FLAGS_ALL} -mssse3")
endif()
if (SSE4_1_FOUND)
set (CMAKE_C_FLAGS_ALL "${CMAKE_C_FLAGS_ALL} -msse4.1")
endif()
if (SSE4_2_FOUND)
set (CMAKE_C_FLAGS_ALL "${CMAKE_C_FLAGS_ALL} -msse4.2")
endif()
One of your header files checks to ensure that SSE is enabled. It appears that your if statements aren't working.
If you add -march=native
it should pick the best CPU arch and flags to compile for based on your processor, or you can explicitly use -march=corei7 -mavx -mpclmul
, which is useful for distcc
. Also, -mfpmath=sse/-mfpmath=387
will tell the compiler to generate SSE/x87 instructions for floating point math. Depending on your processor, either could be faster, but I think Intel processors are usually better at SSE.
If you want to check what gcc is enabling using the native flag run gcc -march=native -Q --help=target -v
.
I got the same error and I think I've found the proper solution!
The problem is that you are included the emmintrin.h. I did the same. What is more if I defined SSE2, SSE and MMX before including this file I got the following message: warning: "SSE2" redefined [enabled by default]
So I tried to investigate where SSE2 is defined and/or used I found that this file is included by x86intrin.h. So include this file and according to the -msse* flags the proper *intrin.h files will be included automatically!
It works for me nicely (g++ 4.7.2-5).
I hope I could help!
I just built this on FreeBSD by adding this to the "Makefile" in /usr/ports/audio/soundtouch
:
CC= gcc46
CXX= g++46
CPP= cpp46
CFLAGS+= -msse
I hope the rest of the "phonon-gstreamer" plugins compile with this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With