On 05/21/2015 10:49 AM, Dominik 'Rathann' Mierzejewski wrote:
On Thursday, 21 May 2015 at 17:06, Bruno Wolff III wrote:
> On Thu, May 21, 2015 at 13:21:19 +0200,
> Sebastian Pölsterl <sebp(a)k-d-w.org> wrote:
>>
>> I'm currently struggling to get InsightToolkit to build again for
>> rawhide. Currently, the problem is that it cannot detect SSE
>> instructions when using koji [1]. It worked for a previous build [2] and
>> still works when doing mockbuild locally.
>
> Aren't you supposed to test for SSE at runtime? Just because the
> machine doing the build has or doesn't have SSE, doesn't mean the
> machine that eventually runs the code will.
Exactly. You cannot rely on SSE being present at build time for i686 builds.
x86_64.
Also, I can see in the log from the successful build that the same tests
failed there as well, so the issue must be somewhere else:
https://kojipkgs.fedoraproject.org//packages/InsightToolkit/4.7.1/4.fc23/...
[...]
-- Performing Test ITK_COMPILER_SUPPORTS_SSE2_64
-- Performing Test ITK_COMPILER_SUPPORTS_SSE2_64 - Failed
-- Performing Test ITK_COMPILER_SUPPORTS_SSE2_32
-- Performing Test ITK_COMPILER_SUPPORTS_SSE2_32 - Failed
-- Performing Test ITK_COMPILER_DOES_NOT_NEED_MSSE2_FLAG
-- Performing Test ITK_COMPILER_DOES_NOT_NEED_MSSE2_FLAG - Failed
[...]
Regards,
Dominik
Well, the errors are possibly related to that type of code:
In file included from
/usr/lib/gcc/i686-redhat-linux/5.1.1/include/xmmintrin.h:31:0,
from
/usr/lib/gcc/i686-redhat-linux/5.1.1/include/emmintrin.h:31,
from
/builddir/build/BUILD/InsightToolkit-4.7.2/Modules/Core/Common/include/itkMathDetail.h:43,
from
/builddir/build/BUILD/InsightToolkit-4.7.2/Modules/Core/Common/include/itkMath.h:32,
from
/builddir/build/BUILD/InsightToolkit-4.7.2/Modules/Core/Transform/include/itkMatrixOffsetTransformBase.hxx:24,
from
/builddir/build/BUILD/InsightToolkit-4.7.2/Modules/Core/Transform/include/itkMatrixOffsetTransformBase.h:533,
from
/builddir/build/BUILD/InsightToolkit-4.7.2/Modules/Core/Transform/include/itkAffineTransform.h:21,
from
/builddir/build/BUILD/InsightToolkit-4.7.2/Modules/IO/TransformHDF5/test/itkIOTransformHDF5Test.cxx:23:
/usr/lib/gcc/i686-redhat-linux/5.1.1/include/mmintrin.h: In function
'__m64 _mm_cvtsi32_si64(int)':
/usr/lib/gcc/i686-redhat-linux/5.1.1/include/mmintrin.h:64:54: error:
can't convert between vector values of different size
return (__m64) __builtin_ia32_vec_init_v2si (__i, 0);
^
/usr/lib/gcc/i686-redhat-linux/5.1.1/include/mmintrin.h: In function
'int _mm_cvtsi64_si32(__m64)':
/usr/lib/gcc/i686-redhat-linux/5.1.1/include/mmintrin.h:107:53: error:
cannot convert '__m64 {aka int}' to '__vector(2) int' for argument
'1'
to 'int __builtin_ia32_vec_ext_v2si(__vector(2) int, int)'
return __builtin_ia32_vec_ext_v2si ((__v2si)__i, 0);
^
In InsightToolkit-4.7.2/Modules/Core/Common/include/itkMathDetail.h
#if defined( ITK_HAVE_EMMINTRIN_H ) && !defined( __GCCXML__ )
#include <emmintrin.h> // sse 2 intrinsics
#endif /* ITK_HAVE_EMMINTRIN_H && ! __GCCXML__ */
we are pulling in sse2 intrinsics. But why is simply including the
header failing?
--
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA/CoRA Division FAX: 303-415-9702
3380 Mitchell Lane orion(a)cora.nwra.com
Boulder, CO 80301
http://www.cora.nwra.com