[cmake-developers] [CMake 0015026]: Build fails with Cray compiler on Linux

Mantis Bug Tracker mantis at public.kitware.com
Wed Jul 16 10:09:58 EDT 2014


The following issue has been SUBMITTED. 
====================================================================== 
http://www.cmake.org/Bug/view.php?id=15026 
====================================================================== 
Reported By:                Chuck Atkins
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   15026
Category:                   CMake
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2014-07-16 10:09 EDT
Last Modified:              2014-07-16 10:09 EDT
====================================================================== 
Summary:                    Build fails with Cray compiler on Linux
Description: 
When building with the Cray compiler on Linux (on an XE6 or XE7 such as Titan or
Garnet, for example), the CMake curl library fails to build.

Steps to Reproduce: 
1.  Checkout current master on a Cray XE6 or XE7
2.  Configure the programming environment to use the cray compilers:
  # module purge
  # module load PrgEnv-cray
  # module load cce
3.  Configure and build.

The result will fail with:

CC-20 craycc: ERROR File =
/dev/shm/atkins3/cmake/master/Utilities/cmcurl/hostip.c, Line = 616
  The identifier "SIZEOF_in_addr" is undefined.

    memcpy(addrentry, &num, SIZEOF_in_addr);
                            ^

Total errors detected in
/dev/shm/atkins3/cmake/master/Utilities/cmcurl/hostip.c: 1



Additional Information: 
The error is caused by a workaround for UNICOS.  The workaround incorrectly uses
the _CRAYC macro to determine if building for UNICOS.  This macro will always be
defined for the Cray C and C++ compiler regardless of the target platform, even
when building for Linux.  The correct macro should be _CRAY, which as per Cray
documentation is only defined for UNICOS targeted builds.  Attached is a patch
with a fix.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2014-07-16 10:09 Chuck Atkins   New Issue                                    
2014-07-16 10:09 Chuck Atkins   File Added:
0001-Fix-a-build-failure-with-the-Cray-compiler-on-Linux.patch                  
 
======================================================================



More information about the cmake-developers mailing list