[MOAB-dev] Make check failure (5143)

Xiabing Xu xbxu at mcs.anl.gov
Thu Sep 1 14:04:41 CDT 2011


On Sep 1, 2011, at 1:42 PM, Jason Kraftcheck wrote:

> On 09/01/2011 01:30 PM, Xiabing Xu wrote:
>> Yes, this is on fusion. 
>> 
>> By delving into the problem, I found that the code in iBase_f.h is looking
>> for the user predefined macro PTRSIZE. If this macros is not found, then for
>> different compilers, define the different size for IMESH_HANDLE_T. In the
>> case for searching gfortran compiler, it  is looking for predefined
>> macro __SIZEOF_SIZE_T__. However, this macro is not defined by gfortran
>> compiler on fusion. 
>> 
>> The default mpi used on fusion is compiled with intel compiler, in this case
>> a different code path is chosen, intel's fortran compiler is used. That
>> explains why it works for Rajeev.
>> 
>> The __SIZEOF_SIZE_T__ is defined by gfortran compiler on mcs machines, I
>> guess that's why the nightly tests are not complaining.
>> 
>> For greater portability, I think the assumption for the predefined macro
>> __SIZEOF_SIZE_T__ in gfortran compiler should be removed.
>> 
> 
> The code does not assume __SIZEOF_SIZE_T__ nor gfortran, but that isn't
> important here.  If you are using the intel compiler and the header is not
> working, then presumably something is wrong with the section of that header
> corresponding to the intel compiler.  That would be the part beginning with
> the line:
> 
>  #elif defined(__INTEL_COMPILER)
> 
> - jason


Intel compiler works fine. It is the gfortran compiler that doesn't compile. 

Here is the code that fails the search for gfortran compiler:

#elif defined(__SIZEOF_SIZE_T__)
c gfortran
#  define IMESH_HANDLE_T integer*__SIZEOF_SIZE_T__

The reason is that gfortran compiler does not define __SIZEOF_SIZE_T__ on fusion, resulting the error "Unknown compiler".

Xiabing





More information about the moab-dev mailing list