Hi there,
In debian, sdrangelove is having some build issues on mipsel [0].
At first, there was an issue regarding the '-msse2' switch. If I delete the switch, then another build error happens:
======== 8< ======== [...] [ 21%] Building CXX object CMakeFiles/sdrbase.dir/sdrbase/dsp/interpolator.cpp.o /usr/bin/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DUSE_FFTW -Dsdrangelove_EXPORTS -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -fPIC -isystem /usr/include/mipsel-linux-gnu/qt5 -isystem /usr/include/mipsel-linux-gnu/qt5/QtCore -isystem /usr/lib/mipsel-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/mipsel-linux-gnu/qt5/QtWidgets -isystem /usr/include/mipsel-linux-gnu/qt5/QtGui -isystem /usr/include/mipsel-linux-gnu/qt5/QtOpenGL -isystem /usr/include/mipsel-linux-gnu/qt5/QtMultimedia -isystem /usr/include/mipsel-linux-gnu/qt5/QtNetwork -I/tmp/buildd/sdrangelove-0.0.1.20140824/obj-mipsel-linux-gnu -I/tmp/buildd/sdrangelove-0.0.1.20140824/include -I/tmp/buildd/sdrangelove-0.0.1.20140824/include-gpl -fPIC -o CMakeFiles/sdrbase.dir/sdrbase/dsp/interpolator.cpp.o -c /tmp/buildd/sdrangelove-0.0.1.20140824/sdrbase/dsp/interpolator.cpp In file included from /tmp/buildd/sdrangelove-0.0.1.20140824/sdrbase/dsp/interpolator.cpp:4:0: /tmp/buildd/sdrangelove-0.0.1.20140824/include-gpl/dsp/interpolator.h:4:23: fatal error: immintrin.h: No such file or directory #include <immintrin.h> ^ compilation terminated. [...] ======== 8< ========
Do you have any hint for this? Thanks, best regards.
PS: Please keep me in CC, i'm not subscribed.
[0] https://buildd.debian.org/status/fetch.php?pkg=sdrangelove&arch=mipsel&a...
I've pushed a change that should allow building on non-intel platforms, try building it from master.
On 5 July 2015 at 22:46, ew la@tfc-server.de wrote:
I've pushed a change that should allow building on non-intel platforms, try building it from master.
This is what I get:
[...] [ 21%] Building CXX object CMakeFiles/sdrbase.dir/sdrbase/dsp/interpolator.cpp.o /usr/bin/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DUSE_FFTW -Dsdrangelove_EXPORTS -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -fPIC -isystem /usr/include/mipsel-linux-gnu/qt5 -isystem /usr/include/mipsel-linux-gnu/qt5/QtCore -isystem /usr/lib/mipsel-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/mipsel-linux-gnu/qt5/QtWidgets -isystem /usr/include/mipsel-linux-gnu/qt5/QtGui -isystem /usr/include/mipsel-linux-gnu/qt5/QtOpenGL -isystem /usr/include/mipsel-linux-gnu/qt5/QtMultimedia -isystem /usr/include/mipsel-linux-gnu/qt5/QtNetwork -I/tmp/buildd/sdrangelove-2test/obj-mipsel-linux-gnu -I/tmp/buildd/sdrangelove-2test/include -I/tmp/buildd/sdrangelove-2test/include-gpl -fPIC -o CMakeFiles/sdrbase.dir/sdrbase/dsp/interpolator.cpp.o -c /tmp/buildd/sdrangelove-2test/sdrbase/dsp/interpolator.cpp In file included from /tmp/buildd/sdrangelove-2test/sdrbase/dsp/interpolator.cpp:4:0: /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h: In member function 'void Interpolator::doInterpolate(int, Complex*)': /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:65:10: error: '__m128' does not name a type const __m128* filter = (const __m128*)&m_alignedTaps[phase * m_nTaps * 2]; ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:66:4: error: '__m128' was not declared in this scope __m128 sum = _mm_setzero_ps(); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:70:5: error: 'sum' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:70:54: error: '_mm_loadu_ps' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:70:58: error: 'filter' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:70:64: error: '_mm_mul_ps' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:70:65: error: '_mm_add_ps' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:76:19: error: '__m64' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2)))); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:76:25: error: expected primary-expression before ')' token _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2)))); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:76:45: error: 'sum' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2)))); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:76:85: error: '_mm_setzero_ps' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2))));
^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:76:110: error: '_MM_SHUFFLE' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2))));
^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:76:111: error: '_mm_shuffle_ps' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2))));
^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:76:112: error: '_mm_add_ps' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2))));
^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:76:113: error: '_mm_storel_pi' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2))));
^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:80:10: error: '__m128' does not name a type const __m128* filter = (const __m128*)&m_alignedTaps[phase * m_nTaps * 2]; ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:81:4: error: '__m128' was not declared in this scope __m128 sum = _mm_setzero_ps(); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:89:5: error: 'sum' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:89:54: error: '_mm_loadu_ps' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:89:58: error: 'filter' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:89:64: error: '_mm_mul_ps' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:89:65: error: '_mm_add_ps' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:95:5: error: 'filter' was not declared in this scope filter = (const __m128*)&m_alignedTaps2[phase * m_nTaps * 2 + todo * 4 - 4]; ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:95:21: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive] filter = (const __m128*)&m_alignedTaps2[phase * m_nTaps * 2 + todo * 4 - 4]; ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:95:15: error: expected primary-expression before 'const' filter = (const __m128*)&m_alignedTaps2[phase * m_nTaps * 2 + todo * 4 - 4]; ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:95:15: error: expected ')' before 'const' /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:102:5: error: 'sum' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:102:54: error: '_mm_loadu_ps' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:102:58: error: 'filter' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:102:64: error: '_mm_mul_ps' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:102:65: error: '_mm_add_ps' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadu_ps(src), *filter)); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:108:5: error: 'sum' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadl_pi(_mm_setzero_ps(), (const __m64*)src), filter[0])); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:108:66: error: '_mm_setzero_ps' was not declared in this scope sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadl_pi(_mm_setzero_ps(), (const __m64*)src), filter[0])); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:108:76: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive] sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadl_pi(_mm_setzero_ps(), (const __m64*)src), filter[0])); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:108:70: error: expected primary-expression before 'const' sum = _mm_add_ps(sum, _mm_mul_ps(_mm_loadl_pi(_mm_setzero_ps(), (const __m64*)src), filter[0])); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:108:70: error: expected ')' before 'const' /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:112:19: error: '__m64' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2)))); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:112:25: error: expected primary-expression before ')' token _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2)))); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:112:45: error: 'sum' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2)))); ^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:112:85: error: '_mm_setzero_ps' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2))));
^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:112:110: error: '_MM_SHUFFLE' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2))));
^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:112:111: error: '_mm_shuffle_ps' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2))));
^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:112:112: error: '_mm_add_ps' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2))));
^ /tmp/buildd/sdrangelove-2test/include-gpl/dsp/interpolator.h:112:113: error: '_mm_storel_pi' was not declared in this scope _mm_storel_pi((__m64*)result, _mm_add_ps(sum, _mm_shuffle_ps(sum, _mm_setzero_ps(), _MM_SHUFFLE(1, 0, 3, 2))));
^ CMakeFiles/sdrbase.dir/build.make:322: recipe for target 'CMakeFiles/sdrbase.dir/sdrbase/dsp/interpolator.cpp.o' failed make[3]: *** [CMakeFiles/sdrbase.dir/sdrbase/dsp/interpolator.cpp.o] Error 1 make[3]: Leaving directory '/tmp/buildd/sdrangelove-2test/obj-mipsel-linux-gnu' CMakeFiles/Makefile2:130: recipe for target 'CMakeFiles/sdrbase.dir/all' failed make[2]: *** [CMakeFiles/sdrbase.dir/all] Error 2 make[2]: Leaving directory '/tmp/buildd/sdrangelove-2test/obj-mipsel-linux-gnu' Makefile:78: recipe for target 'all' failed make[1]: *** [all] Error 2 make[1]: Leaving directory '/tmp/buildd/sdrangelove-2test/obj-mipsel-linux-gnu' [...]
On 7 July 2015 at 22:31, ew la@tfc-server.de wrote:
Oops, looks like I managed to miss one define. Should be fixed now.
Ok, tried again with no luck:
[...] [ 38%] Building CXX object CMakeFiles/sdrbase.dir/sdrbase/gui/glspectrum.cpp.o /usr/bin/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DUSE_FFTW -Dsdrangelove_EXPORTS -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -fPIC -isystem /usr/include/mipsel-linux-gnu/qt5 -isystem /usr/include/mipsel-linux-gnu/qt5/QtCore -isystem /usr/lib/mipsel-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/mipsel-linux-gnu/qt5/QtWidgets -isystem /usr/include/mipsel-linux-gnu/qt5/QtGui -isystem /usr/include/mipsel-linux-gnu/qt5/QtOpenGL -isystem /usr/include/mipsel-linux-gnu/qt5/QtMultimedia -isystem /usr/include/mipsel-linux-gnu/qt5/QtNetwork -I/tmp/buildd/sdrangelove-2test2/obj-mipsel-linux-gnu -I/tmp/buildd/sdrangelove-2test2/include -I/tmp/buildd/sdrangelove-2test2/include-gpl -fPIC -o CMakeFiles/sdrbase.dir/sdrbase/gui/glspectrum.cpp.o -c /tmp/buildd/sdrangelove-2test2/sdrbase/gui/glspectrum.cpp /tmp/buildd/sdrangelove-2test2/sdrbase/gui/glspectrum.cpp: In member function 'void GLSpectrum::applyChanges()': /tmp/buildd/sdrangelove-2test2/sdrbase/gui/glspectrum.cpp:1154:1: error: insn does not satisfy its constraints: } ^ (call_insn 846 845 2999 73 (parallel [ (call (mem:SI (reg:SI 1005) [0 setRange S4 A32]) (const_int 16 [0x10])) (clobber (reg:SI 31 $31)) ]) /tmp/buildd/sdrangelove-2test2/sdrbase/gui/glspectrum.cpp:915 594 {call_internal} (expr_list:REG_DEAD (reg:SI 1005) (expr_list:REG_DEAD (reg:SF 7 $7) (expr_list:REG_DEAD (reg:SF 6 $6) (expr_list:REG_DEAD (reg:SI 5 $5) (expr_list:REG_DEAD (reg:SI 4 $4) (expr_list:REG_EH_REGION (const_int 2 [0x2]) (nil))))))) (expr_list (use (reg:SI 79 $fakec)) (expr_list (use (reg:SI 28 $28)) (expr_list:SF (use (reg:SF 7 $7)) (expr_list:SF (use (reg:SF 6 $6)) (expr_list:SI (use (reg:SI 5 $5)) (expr_list:SI (use (reg:SI 4 $4)) (nil)))))))) /tmp/buildd/sdrangelove-2test2/sdrbase/gui/glspectrum.cpp:1154:1: internal compiler error: in extract_constrain_insn_cached, at recog.c:2117 Please submit a full bug report, with preprocessed source if appropriate. See file:///usr/share/doc/gcc-4.9/README.Bugs for instructions. The bug is not reproducible, so it is likely a hardware or OS problem. CMakeFiles/sdrbase.dir/build.make:713: recipe for target 'CMakeFiles/sdrbase.dir/sdrbase/gui/glspectrum.cpp.o' failed make[3]: *** [CMakeFiles/sdrbase.dir/sdrbase/gui/glspectrum.cpp.o] Error 1 make[3]: Leaving directory '/tmp/buildd/sdrangelove-2test2/obj-mipsel-linux-gnu' CMakeFiles/Makefile2:130: recipe for target 'CMakeFiles/sdrbase.dir/all' failed [...]
Your compiler is broken, there is nothing I can do about that, but you could try clang or a newer version of gcc.