I’m building v5.2.1 (but same failure occurs in 5.3rc02) on an up-to-date Debian Linux machine. GCC is version 11.2, CMake is 3.22.1
My machine is actually an AMD64. I can build the 64-bit version without trouble. But I have a 32-bit chroot that I have in the past used to build 32-bit software.
Using a simple “cmake; make” sequence – i.e. all options are defaults, the build fails with the errors listed below. This is the first warning and first error; there are several similar errors following. It appears to me that there’s a problem with SSE instructions. Can anyone advise whether I need extra compiler flags to select the right instruction set?
I have tried using -march=i686 and recieved same result [the configuration invocation was “CFLAGS=-march=i686 CXXFLAGS=-march=i686 cmake …”].
[ 30%] Building CXX object Modules/Core/Common/src/CMakeFiles/ITKCommon.dir/itkImageRegionSplitterSlowDimension.cxx.o
In file included from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkMath.h:32,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkVector.hxx:21,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkVector.h:332,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkPoint.h:23,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkContinuousIndex.h:21,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkImageRegion.h:34,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkImageRegionSplitterBase.h:21,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkImageRegionSplitterSlowDimension.h:21,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/src/itkImageRegionSplitterSlowDimension.cxx:19:
/home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkMathDetail.h: In function ‘itk::int32_t itk::Math::Detail::RoundHalfIntegerToEven_32(double)’:
/home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkMathDetail.h:151:24: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
151 | return _mm_cvtsd_si32(_mm_set_sd(x));
|^
In file included from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkMathDetail.h:37,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkMath.h:32,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkVector.hxx:21,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkVector.h:332,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkPoint.h:23,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkContinuousIndex.h:21,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkImageRegion.h:34,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkImageRegionSplitterBase.h:21,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/include/itkImageRegionSplitterSlowDimension.h:21,
from /home/steve/Packages/insighttoolkit/build-area/InsightToolkit-5.2.1/Modules/Core/Common/src/itkImageRegionSplitterSlowDimension.cxx:19:
/usr/lib/gcc/i686-linux-gnu/11/include/emmintrin.h:867:1: error: inlining failed in call to ‘always_inline’ ‘int _mm_cvtsd_si32(__m128d)’: target specific option mismatch