[CMake] CMake on OpenVMS - Bootstrap CMake complaining that “pid_t doesn’t exist on this platform?”
Custin, Jay (CSC Sw Middleware)
jay.custin at hpe.com
Sun Nov 1 16:19:43 EST 2015
Still kicking myself… “normally” I would “delete” files that I had modified by first renaming them to “hide” them and only then actually delete them… Well sure enough the one time I feel confident apparently I whacked something I shouldn’t have (guessing)…
Regardless of which the CMake execution at the tail end of the bootstrap now complains about pid_t not existing… as you can see in the following excerpt from manually executing the command with the –trace option:
/PRJ_ROOT/CMAKE-3_3_2/Modules/CheckTypeSize.cmake(246): set(PID_T_KEYS )
/PRJ_ROOT/CMAKE-3_3_2/Modules/CheckTypeSize.cmake(247): set(_map_file ${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/CheckTypeSize/PID_T.cmake )
/PRJ_ROOT/CMAKE-3_3_2/Modules/CheckTypeSize.cmake(248): if(NOT DEFINED HAVE_PID_T )
/PRJ_ROOT/CMAKE-3_3_2/Modules/CheckTypeSize.cmake(251): include(${_map_file} OPTIONAL )
/PRJ_ROOT/CMAKE-3_3_2/Modules/CheckTypeSize.cmake(252): set(_map_file )
/PRJ_ROOT/CMAKE-3_3_2/Modules/CheckTypeSize.cmake(253): set(_builtin )
/PRJ_ROOT/CMAKE-3_3_2/Modules/CheckTypeSize.cmake(256): if(PID_T_KEYS )
/PRJ_ROOT/CMAKE-3_3_2/Modules/CheckTypeSize.cmake(265): elseif(PID_T )
/PRJ_ROOT/CMAKE-3_3_2/Modules/CheckTypeSize.cmake(267): else()
/PRJ_ROOT/CMAKE-3_3_2/Modules/CheckTypeSize.cmake(268): set(PID_T_CODE /* #undef PID_T */ )
/PRJ_ROOT/CMAKE-3_3_2/Utilities/cmlibarchive/CMakeLists.txt(1128): IF(NOT HAVE_PID_T )
/PRJ_ROOT/CMAKE-3_3_2/Utilities/cmlibarchive/CMakeLists.txt(1129): IF(WIN32 )
/PRJ_ROOT/CMAKE-3_3_2/Utilities/cmlibarchive/CMakeLists.txt(1131): ELSE(WIN32 )
/PRJ_ROOT/CMAKE-3_3_2/Utilities/cmlibarchive/CMakeLists.txt(1132): MESSAGE(FATAL_ERROR pid_t doesn't exist on this platform? )
CMake Error at Utilities/cmlibarchive/CMakeLists.txt:1132 (MESSAGE):
pid_t doesn't exist on this platform?
I > thought < about simply tweaking the code to override the apparent “missing” definition, but then decided that clearly something else prevents CMake from finding it and so thought I would pose the question here to see if anyone has any ideas.
The problem with this comes from knowing for certain that pid_t DOES exist in the default HP C header:
ITAN1> sea/num unistd.h "ifndef __PID_T"/win=(0,3)
353 # ifndef __PID_T
354 # define __PID_T 1
355 typedef __pid_t pid_t;
356 # endif
And
ITAN1> sea unistd.h/num "types.h"
31 #include <decc$types.h>
ITAN1> sea types.h /num/win=(0,3) "#if !defined __PID_T"
104 #if !defined __PID_T && !defined _DECC_V4_SOURCE
105 # define __PID_T 1
106 typedef __pid_t pid_t;
107 #endif
The error occurs in this section of Utilities/cmlibarchive/CMakeLists.txt:
Line#
1127 CHECK_TYPE_SIZE(pid_t PID_T)
1128 IF(NOT HAVE_PID_T)
1129 IF(WIN32)
1130 SET(pid_t "int")
1131 ELSE(WIN32)
1132 MESSAGE(FATAL_ERROR "pid_t doesn't exist on this platform?")
1133 ENDIF(WIN32)
1134 ENDIF(NOT HAVE_PID_T)
Anyone have any ideas?
JayC
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20151101/48cb6601/attachment.html>
More information about the CMake
mailing list