After somewhat of an archeological dig I have finally traced down the following 
error message:

[ 12%] Building C object 
Utilities/cmliblzma/CMakeFiles/cmliblzma_dir/liblzma/check/check.c.o
cd /PRJ_ROOT/CMAKE-3_3_2/Utilities/cmliblzma && /bin/cc   
-Wc/warnings=disable=all/lis/show=all -w -I/PRJ_ROOT/CMAKE-3_3_2/Utilities
-I/PRJ_ROOT/CMAKE-3_3_2/Utilities/cmliblzma/common 
-I/PRJ_ROOT/CMAKE-3_3_2/Utilities/cmliblzma/liblzma/api -I/PRJ_ROOT/CMAKE-3_3_2/
Utilities/cmliblzma/liblzma/check 
-I/PRJ_ROOT/CMAKE-3_3_2/Utilities/cmliblzma/liblzma/common 
-I/PRJ_ROOT/CMAKE-3_3_2/Utilities/cmlib
lzma/liblzma/delta -I/PRJ_ROOT/CMAKE-3_3_2/Utilities/cmliblzma/liblzma/lz 
-I/PRJ_ROOT/CMAKE-3_3_2/Utilities/cmliblzma/liblzma/lzma -
I/PRJ_ROOT/CMAKE-3_3_2/Utilities/cmliblzma/liblzma/rangecoder 
-I/PRJ_ROOT/CMAKE-3_3_2/Utilities/cmliblzma/liblzma/simple -I/PRJ_ROOT
/CMAKE-3_3_2/Utilities/cmliblzma    -o 
CMakeFiles/cmliblzma_dir/liblzma/check/check.c.o   -c 
/PRJ_ROOT/CMAKE-3_3_2/Utilities/cmliblz
ma/liblzma/check/check.c

   typedef uint64_t uintptr_t;
....................^
%CC-E-NOLINKAGE, In this declaration, "uint32_t" has no linkage and has a prior 
declaration in this scope at line number 174 in file
LCL_ROOT:[cmake-3_3_2.Utilities.cmliblzma]config.h;7.
at line number 75 in module INTTYPES of text library 
SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1
make[2]: *** 
[Utilities/cmliblzma/CMakeFiles/cmliblzma_dir/liblzma/check/check.c.o] Error 2
make[2]: Leaving directory `/PRJ_ROOT/CMAKE-3_3_2'
make[1]: *** [Utilities/cmliblzma/CMakeFiles/cmliblzma_dir/all] Error 2
make[1]: Leaving directory `/PRJ_ROOT/CMAKE-3_3_2'
make: *** [all] Error 2

to a somewhat confusing (at least to me) behavior of the config.h header file 
generated from the config.h.in file.

Line  Statement
6    /* First, we need to know if the system has already defined them. */
7    #cmakedefine HAVE_INT16_T
8    #cmakedefine HAVE_INT32_T
9    #cmakedefine HAVE_INT64_T
10    #cmakedefine HAVE_INTMAX_T
11
12    #cmakedefine HAVE_UINT8_T
13    #cmakedefine HAVE_UINT16_T
14    #cmakedefine HAVE_UINT32_T
15    #cmakedefine HAVE_UINT64_T
16    #cmakedefine HAVE_UINTMAX_T

Generates these statements in the config.h header file

6    /* First, we need to know if the system has already defined them. */
7    /* #undef HAVE_INT16_T */
 8    /* #undef HAVE_INT32_T */
 9    /* #undef HAVE_INT64_T */
10    /* #undef HAVE_INTMAX_T */
11
12    /* #undef HAVE_UINT8_T */
13    /* #undef HAVE_UINT16_T */
14    /* #undef HAVE_UINT32_T */
15    /* #undef HAVE_UINT64_T */
16    /* #undef HAVE_UINTMAX_T */

Except the generated files Bootstrap_cmk/cmIML/int.h and Utilities/cmIML/int.h 
(which contain identical content) contain the following sections:

#if defined(__VMS)
# define cmIML_INT_NO_STDINT_H
# define cmIML_INT_HAVE_INTTYPES_H
#endif

And

#if defined(cmIML_INT_HAVE_STDINT_H) || defined(cmIML_INT_HAVE_INTTYPES_H)
#define cmIML_INT_HAVE_INT8_T 1
#define cmIML_INT_HAVE_UINT8_T 1
#define cmIML_INT_HAVE_INT16_T 1
#define cmIML_INT_HAVE_UINT16_T 1
#define cmIML_INT_HAVE_INT32_T 1
#define cmIML_INT_HAVE_UINT32_T 1
#define cmIML_INT_HAVE_INT64_T 1
#define cmIML_INT_HAVE_UINT64_T 1
#define cmIML_INT_NO_INTPTR_T 1
#define cmIML_INT_NO_UINTPTR_T 1
#endif

Near as I can tell no connection exists between the HAVE_xyz_T macros and the 
cmIML_INT_HAVE_xyz_T macros.  Likewise I can't seem to find anywhere that would 
actually define the HAVE_xyz_T macros which seems equally confusing.  Aside 
from having to manually edit the config.h.in can anyone suggest a way to work 
this?

Jay
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to