[Insight-developers] Problem with 3.14 release
Wes Turner
wes.turner at kitware.com
Fri May 29 16:48:12 EDT 2009
Bradley,
Thanks for the Build and for the report. Can you confirm if you have the
ITK_USE_PORTABLE_ROUND on or off?
- Wes
On Fri, May 29, 2009 at 4:44 PM, Bradley Lowekamp <blowekamp at mail.nih.gov>wrote:
> Unless RougeResearch5 is an intel, I don't see any machines on the dash
> board which cover this case. I should have chosen by build configurations
> for the mini's better.
> By setting:
> *
>
> CMAKE_OSX_ARCHITECTURES:STRING=ppc;i386;ppc64;x86_64
>
> *
>
> I am getting the following compilation error:
>
> [ 24%] Building CXX object
> Utilities/vxl/core/vnl/CMakeFiles/itkvnl.dir/vnl_math.o
> In file included from
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.cxx:8:
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h:51:46:
> error: emmintrin.h: No such file or directory
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h: In
> function ‘int vnl_math_rnd_halfinttoeven(float)’:
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h:193:
> error: ‘_mm_set_ss’ was not declared in this scope
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h:193:
> error: ‘_mm_cvtss_si32’ was not declared in this scope
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h: In
> function ‘int vnl_math_rnd_halfinttoeven(double)’:
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h:200:
> error: ‘_mm_set_sd’ was not declared in this scope
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h:200:
> error: ‘_mm_cvtsd_si32’ was not declared in this scope
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h: In
> function ‘int vnl_math_floor(float)’:
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h:359:
> error: ‘_mm_set_ss’ was not declared in this scope
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h:359:
> error: ‘_mm_cvtss_si32’ was not declared in this scope
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h: In
> function ‘int vnl_math_floor(double)’:
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h:366:
> error: ‘_mm_set_sd’ was not declared in this scope
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h:366:
> error: ‘_mm_cvtsd_si32’ was not declared in this scope
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h: In
> function ‘int vnl_math_ceil(float)’:
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h:444:
> error: ‘_mm_set_ss’ was not declared in this scope
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h:444:
> error: ‘_mm_cvtss_si32’ was not declared in this scope
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h: In
> function ‘int vnl_math_ceil(double)’:
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h:451:
> error: ‘_mm_set_sd’ was not declared in this scope
> /nfs/mead/Users/blowek1/src/Insight/Utilities/vxl/core/vnl/vnl_math.h:451:
> error: ‘_mm_cvtsd_si32’ was not declared in this scope
> make[2]: *** [Utilities/vxl/core/vnl/CMakeFiles/itkvnl.dir/vnl_math.o]
> Error 1
>
>
> If I am just building ppc, or intel, it fine (this is what I think is
> covered on the dash board. But if it's both architectures, I get these error
> messages.
>
> As intel and ppc have different endianness, a similar handling of this
> cross compilation issue was done here in itkConfigure.h.in :
>
> /* what byte order */
> /* All compilers that support Mac OS X define either __BIG_ENDIAN__ or
> __LITTLE_ENDIAN__ to match the endianness of the architecture being
> compiled for. This is not necessarily the same as the architecture of
> the machine doing the building. In order to support Universal Binaries
> on
> Mac OS X, we prefer those defines to decide the endianness.
> On other platform, we use the result of the TRY_RUN. */
> #if !defined(__APPLE__)
> #cmakedefine CMAKE_WORDS_BIGENDIAN
> #ifdef CMAKE_WORDS_BIGENDIAN
> #define ITK_WORDS_BIGENDIAN
> #endif
> #elif defined(__BIG_ENDIAN__)
> #define CMAKE_WORDS_BIGENDIAN
> #define ITK_WORDS_BIGENDIAN
> #endif
>
> I think the checks for VNL_CONFIG_ENABLE_SSE2_ROUNDING, appear to build a
> build test only. This is insufficient when building an apple universal
> binary.
>
> Brad
>
>
>
> On May 29, 2009, at 4:11 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] wrote:
>
> Hello,
>
> I think there is a problem with the 3.14. If you have an intel mac and are
> building a universal binary there is a compilation issue.
>
> This is likely due to the rounding changing, and how it checks for the
> architecture. I am building an experimental now (victoria.nlm). And I am
> going to change mini1.nlm, to cover this case tonight too.
>
> Brad
>
> ========================================================
> Bradley Lowekamp
> Lockheed Martin Contractor for
> Office of High Performance Computing and Communications
> National Library of Medicine
> blowekamp at mail.nih.gov
>
>
> <ATT00001.txt>
>
>
> ========================================================
>
> Bradley Lowekamp
>
> Lockheed Martin Contractor for
>
> Office of High Performance Computing and Communications
>
> National Library of Medicine
>
> blowekamp at mail.nih.gov
>
>
>
--
Wesley D. Turner, Ph.D.
Kitware, Inc.
R&D Engineer
28 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-371-3971 x120
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20090529/fa893b96/attachment.htm>
More information about the Insight-developers
mailing list