Subject: bug#9806: Fwd: [OMPI devel] make check fails for Intel 2011.6.233 (OpenMPI 1.4.3)

From: Jeff Squyres <[email-masked]>
Date: Thu, 20 Oct 2011 08:03:30 -0400

Libtool developers --

FYI.  I don't know offhand if you're checking the intel compiler #defines for version numbers, but the following issue just came up on the Open MPI list: the intel 12.1.x compilers seem to have done terrible things to the version #defines.  So we're passing along this info in case you need it.

See below.

Begin forwarded message:

> From: Larry Baker <[email-masked]>
> Date: October 19, 2011 4:25:26 PM EDT
> To: Open MPI Developers <[email-masked]>
> Subject: Re: [OMPI devel] make check fails for Intel 2011.6.233 (OpenMPI 1.4.3)
> Reply-To: Open MPI Developers <[email-masked]>
> 
> Here's what I get for the version no. macros from the Intel compilers I have installed on our cluster:
> 
>> Intel V11.1.080
>> 
>> $ icc -v
>> Version 11.1 
>> 
>> #define __ICC 1110
>> #define __INTEL_COMPILER 1110
>> #define __INTEL_COMPILER_BUILD_DATE 20101201
>> 
>> Intel V2011.3.174
>> 
>> $ icc -v
>> Version 12.0.3
>> 
>> #define __ICC 1200
>> #define __INTEL_COMPILER 1200
>> #define __INTEL_COMPILER_BUILD_DATE 20110309
>> 
>> Intel V2011.4.191
>> 
>> $ icc -v
>> Version 12.0.4
>> 
>> #define __ICC 1200
>> #define __INTEL_COMPILER 1200
>> #define __INTEL_COMPILER_BUILD_DATE 20110427
>> 
>> Intel V2011.5.220
>> 
>> $ icc -v
>> Version 12.0.5
>> 
>> #define __ICC 1200
>> #define __INTEL_COMPILER 1200
>> #define __INTEL_COMPILER_BUILD_DATE 20110719
>> 
>> Intel V2011.6.233
>> 
>> $ icc -v
>> icc version 12.1.0 (gcc version 4.1.2 compatibility)
>> 
>> #define __ICC 9999
>> #define __INTEL_COMPILER 9999
>> #define __INTEL_COMPILER_BUILD_DATE 20110811
> 
> As Hubert mentioned, only the build date has a reliable value.
> 
> Larry Baker
> US Geological Survey
> 650-329-5608
> [email-masked]
> 
> On 19 Oct 2011, at 11:45 AM, Larry Baker wrote:
> 
>> I posted my findings about the bad version no. macros to the same thread that described the Intel V12.1 optimizer bug (http://software.intel.com/en-us/forums/showthread.php?t=87132).  The response I got is:
>> 
>>> Posted By: Hubert Haberstock (Intel)
>>> __________________________________________
>>> 
>>> The build date is currently the only suitable macro. This allows to check for the Intel Compiler and for specific compiler versions. Makes sense? Regards, Hubert.
>>> __________________________________________
>> 
>> That is contrary to what the online V12.1 documentation says.  I'm going to find out what the previous versions do, then report this through my normal support channels.  If the documentation is wrong, they should fix it; if the documentation is right, they should fix the compiler.  (However, there will still be an errant V12.1.0 that reports itself as 9999, so use of the version no. macros will never be reliable without a hack to handle this errant case.)  I'll report here what I find about the values of the version no. macros.  It is probably better, though, that automake/libtool rely on the output of icc -v, since that seems to always result in a value that matches the version of the product (as opposed to #define __INTEL_COMPILER 9999 and #define __ICC 9999 from within the V12.1.0 compiler).
>> 
>> Larry Baker
>> US Geological Survey
>> 650-329-5608
>> [email-masked]

If you care, you can see the rest of the thread here:

    http://www.open-mpi.org/community/lists/devel/2011/10/9791.php

-- 
Jeff Squyres
[email-masked]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/