sdrangelove build issues on mipsel

F4EXB f4exb at free.fr
Tue May 3 15:45:48 UTC 2016


Hello Sylvain,

this include is made only if USE_SIMD is set and the key is in the CMakeLists.txt at top level:

IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64|x86")
 SET(USE_SIMD "SSE2" CACHE STRING "Use SIMD instructions")
ENDIF()

then...

if(USE_SIMD MATCHES SSE2)
	if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
		set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -msse2" )
		set( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -msse2" )
		add_definitions(-DUSE_SIMD)
	elseif(MSVC)
		set( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /arch:SSE2" )
		set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Oi /GL /Ot /Ox /arch:SSE2" )
		set( CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG" )
		add_definitions (/D "_CRT_SECURE_NO_WARNINGS")
		add_definitions(-DUSE_SIMD)
	endif()
endif()

If you try to cross compile from a x86_64 host it will believe it can use SIMD. Or maybe your MIPS system shows as a x86_64 with cmake.
If nothing else works you can comment the lines:

IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64|x86")
 SET(USE_SIMD "SSE2" CACHE STRING "Use SIMD instructions")
ENDIF()

Best regards,
Edouard.



On Sun, 1 May 2016 14:07:03 +0200
Sylvain Munaut <246tnt at gmail.com> wrote:

> Hi,
> 
> > /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.
> 
> That include is for SSE intrisics, obviously won't exist on MIPS.
> 
> Cheers,
> 
>     Sylvain


-- 
F4EXB <f4exb at free.fr>


More information about the osmocom-sdr mailing list