MantisBT - ITK
View Issue Details
0007214ITKpublic2008-06-19 18:332008-09-02 13:27
Sean McBride 
Luis Ibanez 
normalmajoralways
closedfixed 
Mac OS XMac OS X10.5
 
 
0007214: ITK CVS does not build with VNL_CONFIG_ENABLE_SSE2 ON when building Mac Universal Binaries
If I turn VNL_CONFIG_ENABLE_SSE2 ON and set CMAKE_OSX_ARCHITECTURES to "i386" then things build fine. But if I set CMAKE_OSX_ARCHITECTURES to "ppc" then I get:

In file included from /Users/sean/kitware/Insight/Utilities/vxl/core/vnl/vnl_c_vector.txx:19,
                 from /Users/sean/kitware/Insight/Utilities/vxl/core/vnl/Templates/vnl_c_vector+double-.cxx:1:
/Users/sean/kitware/Insight/Utilities/vxl/core/vnl/vnl_sse.h:23:5: error: #error "Required file emmintrin.h for SSE2 not found"

Well, naturally, the PowerPC does not support SSE2, so this isn't too unreasonable. :)

However, if I set CMAKE_OSX_ARCHITECTURES to "i386;ppc" (to build a Universal Binary) then I also get that compiler error. This is problematic.

I am testing a patch...
No tags attached.
related to 0007207assigned Bradley Lowekamp vnl_sse<double>::matrix_x_vector(...) yields wrong result when VNL_CONFIG_ENABLE_SSE2:BOOL=ON 
txt 7214patch.txt (685) 2008-06-20 10:18
https://public.kitware.com/Bug/file/1543/7214patch.txt
Issue History
2008-06-19 18:33Sean McBrideNew Issue
2008-06-20 10:18Sean McBrideFile Added: 7214patch.txt
2008-06-20 10:19Sean McBrideNote Added: 0012439
2008-06-20 10:19Sean McBrideStatusnew => assigned
2008-06-20 10:19Sean McBrideAssigned To => Luis Ibanez
2008-06-20 10:20Sean McBrideRelationship addedrelated to 0007207
2008-07-09 10:07Luis IbanezNote Added: 0012669
2008-07-09 10:17Sean McBrideStatusassigned => resolved
2008-07-09 10:17Sean McBrideResolutionopen => fixed
2008-07-09 10:17Sean McBrideNote Added: 0012671
2008-09-02 13:27Sean McBrideStatusresolved => closed
2008-09-02 13:27Sean McBrideNote Added: 0013255

Notes
(0012439)
Sean McBride   
2008-06-20 10:19   
With the attached patch, I am able to compile&link a 4 way universal binary (ppc, ppc64, i386, x86_64). Some tests do fail however. I believe Bug 7207 is the cause.

Can someone review the patch? Or shall I just commit it?
(0012669)
Luis Ibanez   
2008-07-09 10:07   
Sean:

Thanks for the patch.
Amitha Perera submitted the patch for review to the VXL developers team and they committed it in the Development repository of VXL.

Could you please commit the same change in ITK ?

In this way, it will make it to ITK 3.8.

   Thanks


       Luis
(0012671)
Sean McBride   
2008-07-09 10:17   
/cvsroot/Insight/Insight/Utilities/vxl/core/vnl/vnl_sse.h,v <-- Utilities/vxl/core/vnl/vnl_sse.h
new revision: 1.4; previous revision: 1.3
(0013255)
Sean McBride   
2008-09-02 13:27   
The patch has been working well for a while now. Closing.