[Insight-developers] Problem with 3.14 release
Bradley Lowekamp
blowekamp at mail.nih.gov
Fri May 29 16:44:51 EDT 2009
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20090529/e79c209b/attachment.htm>
More information about the Insight-developers
mailing list