gr-dvbt
gr-dvbt copied to clipboard
Not compatible with ARM? -msse2 tag not recognized
After downloading and creating the build directory and running "cmake ../", i was unable to compile using the "make" tool. It stopped at 2% with this error:
c++: error: unrecognized command line option ‘-msse2’
I used grep and sed to remove all instances of "-msse2" from the build directory like this:
grep -rl "msse2" /home/pi/gr-dvbt/build | xargs sed -i s^-msse2^^g
This time it got as far as 42% before crashing with this error:
fatal error: xmmintrin.h: No such file or directory #include <xmmintrin.h> ^
I am at a loss here
I was working on it last year too and lamentably it is not compatible.
In the info of the build it is said this: "The dvb-t module requires SSE2 SIMD instructions available in the processor. If the SSE2 is not available then illegal instruction will be seen at runtime." So we can identify previously that in some devices like Raspberry-pi wont work.
The problem exists in the Viterbi code. There is when <xmmintrin.h> is used. It is a library for optimization in AMD and x86 processors architecture, so ARM architecture is not compatible. The optimization libraries of ARM are the NEON libraries, or maybe it can be solved to with VOLK (too much work!).
Hope i cleared out a bit.