Hi,

Just began looking at a build failure for Debian 32-bits that shows up when 
wrapping is enabled [1].   The failure shows in the build log as:

[ 13%] Building C object 
Modules/ThirdParty/OpenJPEG/src/openjpeg/CMakeFiles/itkopenjpeg.dir/raw.c.o
cd 
/home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/BUILD/Modules/ThirdParty/OpenJPEG/src/openjpeg
 && /usr/bin/cc  -Ditkopenjpeg_EXPORTS -g -O2 -fstack-protector-strong -Wformat 
-Werror=format-security -D_FORTIFY_SOURCE=2   -Wno-uninitialized 
-Wno-unused-parameter -Wall -Wcast-align -Wdisabled-optimization -Wextra 
-Wformat=2 -Winvalid-pch -Wno-format-nonliteral -Wpointer-arith -Wshadow 
-Wunused -Wwrite-strings -funit-at-a-time -Wno-strict-overflow  -w -fPIC 
-I/usr/include/gdcm-2.4 
-I/home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/BUILD/Modules/ThirdParty/OpenJPEG/src/openjpeg
 
-I/home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/Modules/ThirdParty/OpenJPEG/src/openjpeg
    -o CMakeFiles/itkopenjpeg.dir/raw.c.o   -c 
/home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/Modules/ThirdParty/OpenJPEG/src/openjpeg/raw.c
In file included from 
/home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/BUILD/Wrapping/Modules/ITKCommon/vcl_complex.cxx:5:
In file included from 
/home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/Modules/Core/Common/include/itkContinuousIndex.h:22:
In file included from 
/home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/Modules/Core/Common/include/itkIndex.h:23:
In file included from 
/home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/Modules/Core/Common/include/itkMath.h:32:
In file included from 
/home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/Modules/Core/Common/include/itkMathDetail.h:43:
/usr/share/castxml/clang/include/emmintrin.h:28:2: error: "SSE2 instruction set 
not enabled"
#error "SSE2 instruction set not enabled"
 ^


The lines in emmintrin.h tests CPP symbol __SSE2__, which is not defined for 
32-bit compiler in Debian.   Interestingly, the content of itkMathDetail.h near 
line 43 is:

    42  #if defined( ITK_HAVE_EMMINTRIN_H ) && !defined( __GCCXML__ )
    43  #include <emmintrin.h> // sse 2 intrinsics
    44  #endif /* ITK_HAVE_EMMINTRIN_H && ! __GCCXML__ */

First observation: prior to ITK 4.8, we used gccxml which defines __GCCXML__ 
and thus avoids including emmintrin.h.  Now we are using castxml, which does 
not define this symbol.  For compatibility, maybe it should?  Brad?


Secondly, I am slightly surprised that ITK should even need to guard against 
including things when __GCCXML __ is defined.   I had naively assumed that 
gccxml should be seeing the same code as the regular parser.  Is this a 
work-around for some gccxml issues of the past or is it still needed?


Thirdly, the emmintrin.h file that castxml uses presumably comes from clang and 
clearly depends on the symbol __SSE2__ being defined.  However, the emmintrin.h 
shipped with GCC does not; does this represent an incompatibility between 
castxml and gcc?

steve@riemann{insighttoolkit4-4.8.0}g++ -E 
/usr/lib/gcc/i586-linux-gnu/5/include/emmintrin.h  >/dev/null
steve@riemann{insighttoolkit4-4.8.0}g++ -E 
/usr/share/castxml/clang/include/emmintrin.h >/dev/null
/usr/share/castxml/clang/include/emmintrin.h:28:2: error: #error "SSE2 
instruction set not enabled"
 #error "SSE2 instruction set not enabled"
  ^
steve@riemann{insighttoolkit4-4.8.0}

Thanks,
-Steve

[1] 
https://buildd.debian.org/status/fetch.php?pkg=insighttoolkit4&arch=i386&ver=4.8.0-1&stamp=1440593857

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/insight-developers

Reply via email to