[CMake] Porting cmake to OS/390

Magnus Sirwiö sirwio at hotmail.com
Tue Dec 19 08:30:20 EST 2006


Hi again,

I just found a way to make it possible to interspersed options and operands 
while reading the compiler manual. Setting the following environment 
variables makes the bootstrapping continue. Still complaining about unknown 
system though...

export _C89_CCMODE=1
export _CC_CCMODE=1
export _CXX_CCMODE=1

- Magnus



>From: "Magnus Sirwiö" <sirwio at hotmail.com>
>To: cmake at cmake.org
>Subject: RE: [CMake] Porting cmake to OS/390
>Date: Tue, 19 Dec 2006 10:57:48 +0000
>MIME-Version: 1.0
>X-Originating-IP: [194.23.69.245]
>X-Originating-Email: [sirwio at hotmail.com]
>X-Sender: sirwio at hotmail.com
>Received: from public.kitware.com ([66.194.253.19]) by 
>bay0-mc9-f5.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2444); Tue, 19 
>Dec 2006 02:57:56 -0800
>Received: from public.kitware.com (localhost [127.0.0.1])by 
>public.kitware.com (Postfix) with ESMTP id CD3A513985Dfor 
><sirwio at hotmail.com>; Tue, 19 Dec 2006 05:57:55 -0500 (EST)
>Received: from bay0-omc2-s27.bay0.hotmail.com 
>(bay0-omc2-s27.bay0.hotmail.com[65.54.246.163])by public.kitware.com 
>(Postfix) with ESMTP id 88CC9139857for <cmake at cmake.org>; Tue, 19 Dec 2006 
>05:57:50 -0500 (EST)
>Received: from hotmail.com ([64.4.18.60]) by 
>bay0-omc2-s27.bay0.hotmail.comwith Microsoft SMTPSVC(6.0.3790.2668); Tue, 
>19 Dec 2006 02:57:49 -0800
>Received: from mail pickup service by hotmail.com with Microsoft 
>SMTPSVC;Tue, 19 Dec 2006 02:57:49 -0800
>Received: from 69.45.64.100 by by24fd.bay24.hotmail.msn.com with HTTP;Tue, 
>19 Dec 2006 10:57:48 GMT
>X-Message-Info: LsUYwwHHNt3660MmjhEvYg2f34OAemlKagRhjiGbCrU=
>X-Original-To: cmake at cmake.org
>Delivered-To: cmake at cmake.org
>X-OriginalArrivalTime: 19 Dec 2006 10:57:49.0417 
>(UTC)FILETIME=[85EC5590:01C7235C]
>X-BeenThere: cmake at cmake.org
>X-Mailman-Version: 2.1.4
>Precedence: list
>List-Id: Cross-Platform Make <cmake.cmake.org>
>List-Unsubscribe: 
><http://www.cmake.org/mailman/listinfo/cmake>,<mailto:cmake-request at cmake.org?subject=unsubscribe>
>List-Archive: <http://public.kitware.com/pipermail/cmake>
>List-Post: <mailto:cmake at cmake.org>
>List-Help: <mailto:cmake-request at cmake.org?subject=help>
>List-Subscribe: 
><http://www.cmake.org/mailman/listinfo/cmake>,<mailto:cmake-request at cmake.org?subject=subscribe>
>Errors-To: cmake-bounces+sirwio=hotmail.com at cmake.org
>Return-Path: cmake-bounces+sirwio=hotmail.com at cmake.org
>
>Hi,
>
>I have now after a few, well to be honest many, trials found out the cause 
>of my initial errors. The flex generated files are generated on ASCII 
>platforms. The generated files will not work out of the box on a platform 
>whos using a character set as EBCDIC!
>
>First I tried regenerating the lex files using the available flex 2.5.4a on 
>our mainframe. Did not work. CMake is using a later flex wich is not 
>available on mainframes...
>Second I tried porting a flex version that would produces correct output 
>but did not quite succeed.
>After banging my head at least ten times on the wall and reading numerous 
>mail group posts I found the idea that one could manually alter the flex 
>generated lookup tables to suit the ebcdic platform.
>
>This actually worked and I'm now looking for input on the next obstacle. 
>When cmake itself is bootstrapping I get the following output.
>
>IBMUSER:/code/cmake/cmake-2.4.3: > Bootstrap.cmk/cmake . 
>-C"Bootstrap.cmk/InitialCacheFlags.cmake" -G"Unix Makefiles"
>
>loading initial cache file Bootstrap.cmk/InitialCacheFlags.cmake
>System is unknown to cmake, create:
>/code/cmake/cmake-2.4.3/Modules/Platform/OS/390.cmake to use this system, 
>please send your config file to cmake at www.cmake.org so it can be added to 
>cmake
>You CMakeCache.txt file was copied to CopyOfCMakeCache.txt. Please send 
>that file to cmake at www.cmake.org.
>-- Check for working CXX compiler: /bin/c++
>System is unknown to cmake, create:
>/code/cmake/cmake-2.4.3/Modules/Platform/OS/390.cmake to use this system, 
>please send your config file to cmake at www.cmake.org so it can be added to 
>cmake
>-- Check for working CXX compiler: /bin/c++ -- broken
>CMake Error: Error in cmake code at
>/code/cmake/cmake-2.4.3/Modules/CMakeTestCXXCompiler.cmake:25:
>MESSAGE The C++ compiler "/bin/c++" is not able to compile a simple test 
>program.
>It fails with the following output:
>/bin/gmake -f CMakeFiles/cmTryCompileExec.dir/build.make 
>CMakeFiles/cmTryCompileExec.dir/build
>gmake[1]: Entering directory `/code/cmake/cmake-2.4.3/CMakeFiles/CMakeTmp'
>/code/cmake/cmake-2.4.3/Bootstrap.cmk/cmake -E cmake_progress_report 
>/code/cmake/cmake-2.4.3/CMakeFiles/CMakeTmp/CMakeFiles 1
>Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.o
>/bin/c++   -D_XOPEN_SOURCE -D_ALL_SOURCE -DOS_390      -o 
>CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.o -c 
>/code/cmake/cmake-2.4.3/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
>Linking CXX executable cmTryCompileExec
>/code/cmake/cmake-2.4.3/Bootstrap.cmk/cmake -P 
>CMakeFiles/cmTryCompileExec.dir/cmake_clean_target.cmake
>/bin/c++    -D_XOPEN_SOURCE -D_ALL_SOURCE -DOS_390      
>"CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.o"   -o cmTryCompileExec
>FSUM3010 Specify a file with the correct suffix (.cxx, .hh, .i, .c, .i, .s, 
>.o, .x, .p, .I, or .a), or a corresponding data set name, instead of -o.
>gmake[1]: Leaving directory `/code/cmake/cmake-2.4.3/CMakeFiles/CMakeTmp'
>gmake[1]: *** [cmTryCompileExec] Error 1
>gmake: *** [cmTryCompileExec/fast] Error 2
>
>
>CMake will not be able to correctly generate this project.
>Current CMake stack: 
>/code/cmake/cmake-2.4.3/CMakeLists.txt;/code/cmake/cmake-2.4.3/Modules/CMakeCInformation.cmake;/code/cmake/cmake-2.4.3/Modules/CMakeCXXInformation.cmake;/code/cmake/cmake-2.4.3/Modules/CMakeTestCXXCompiler.cmake
>-- Configuring done
>
>I suspect that the failure to compile has to do with the order of arguments 
>given to the compiler. I had to modify the bootstrap sligthly and put the 
>-o outfile before any source to get things to work.
>Eg.
>c++ -o hello hello.c     OK
>c++ hello.c -o hello     NOT OK
>
>There also seem to be a problem with the output of uname -s since the 
>result contains a /
>What is a good workaround for this?
>
>As always - Suggestions and hints are welcome especially on a way to 
>declare the order of parameters to the c++ compiler.
>
>Once I got this running I will of course post a detail description on howto 
>to get cmake to run on OS/390!!!
>
>- Magnus
>
>
>>From: "Magnus Sirwiö" <sirwio at hotmail.com>
>>To: cmake at cmake.org
>>Subject: [CMake] Porting cmake to OS/390
>>Date: Thu, 07 Dec 2006 07:18:19 +0000
>>MIME-Version: 1.0
>>X-Originating-IP: [194.23.69.245]
>>X-Originating-Email: [sirwio at hotmail.com]
>>X-Sender: sirwio at hotmail.com
>>Received: from public.kitware.com ([66.194.253.19]) by 
>>bay0-mc11-f3.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2444); Wed, 
>>6 Dec 2006 23:18:33 -0800
>>Received: from public.kitware.com (localhost [127.0.0.1])by 
>>public.kitware.com (Postfix) with ESMTP id A4585134365for 
>><sirwio at hotmail.com>; Thu,  7 Dec 2006 02:18:32 -0500 (EST)
>>Received: from bay0-omc3-s15.bay0.hotmail.com 
>>(bay0-omc3-s15.bay0.hotmail.com[65.54.246.215])by public.kitware.com 
>>(Postfix) with ESMTP id 907E31338D6for <cmake at cmake.org>; Thu,  7 Dec 2006 
>>02:18:23 -0500 (EST)
>>Received: from hotmail.com ([64.4.18.67]) by 
>>bay0-omc3-s15.bay0.hotmail.comwith Microsoft SMTPSVC(6.0.3790.2668); Wed, 
>>6 Dec 2006 23:18:22 -0800
>>Received: from mail pickup service by hotmail.com with Microsoft 
>>SMTPSVC;Wed, 6 Dec 2006 23:18:22 -0800
>>Received: from 69.45.64.100 by by24fd.bay24.hotmail.msn.com with HTTP;Thu, 
>>07 Dec 2006 07:18:19 GMT
>>X-Message-Info: LsUYwwHHNt3660MmjhEvYg2f34OAemlKagRhjiGbCrU=
>>X-Original-To: cmake at cmake.org
>>Delivered-To: cmake at cmake.org
>>X-OriginalArrivalTime: 07 Dec 2006 07:18:22.0436 
>>(UTC)FILETIME=[E0D57A40:01C719CF]
>>X-BeenThere: cmake at cmake.org
>>X-Mailman-Version: 2.1.4
>>Precedence: list
>>List-Id: Cross-Platform Make <cmake.cmake.org>
>>List-Unsubscribe: 
>><http://www.cmake.org/mailman/listinfo/cmake>,<mailto:cmake-request at cmake.org?subject=unsubscribe>
>>List-Archive: <http://public.kitware.com/pipermail/cmake>
>>List-Post: <mailto:cmake at cmake.org>
>>List-Help: <mailto:cmake-request at cmake.org?subject=help>
>>List-Subscribe: 
>><http://www.cmake.org/mailman/listinfo/cmake>,<mailto:cmake-request at cmake.org?subject=subscribe>
>>Errors-To: cmake-bounces+sirwio=hotmail.com at cmake.org
>>Return-Path: cmake-bounces+sirwio=hotmail.com at cmake.org
>>
>>Hi,
>>
>>I'm trying to bootstrap cmake on a OS/390 mainframe. I have succeeded so 
>>far that the cmake executable is created in the Bootstrap.cmk folder but 
>>the actual bootstrapping of cmake itself fails.
>>
>>Attached are two logfiles. The first is from the bootstap and the other is 
>>from the bootstrapping of cmake that fails.
>>
>>Any hints are welcome!
>>
>>- Magnus
>>
>>---- ./bootstrap output
>>CMake 2.4-3, Copyright (c) 2006 Kitware, Inc., Insight Consortium
>>C compiler on this system is: c89 -D_XOPEN_SOURCE -D_ALL_SOURCE
>>C++ compiler on this system is: c++ -D_XOPEN_SOURCE -D_ALL_SOURCE
>>Makefile processor on this system is: gmake
>>c++ is not GNU compiler
>>c++ has STL in std:: namespace
>>c++ has ANSI streams
>>c++ has streams in std:: namespace
>>c++ has sstream
>>c++ has operator!=(string, char*)
>>c++ has stl iterator_traits
>>c++ has standard template allocator
>>c++ has allocator<>::rebind<>
>>c++ does not have non-standard allocator<>::max_size argument
>>c++ has stl containers supporting allocator objects
>>c++ has header cstddef
>>c++ requires template friends to use <>
>>c++ supports member templates
>>c++ has standard template specialization syntax
>>c++ has argument dependent lookup
>>c++ does not have struct stat with st_mtim member
>>c++ has ANSI for scoping
>>---------------------------------------------
>>gmake: `cmake' is up to date.
>>-- Configuring done
>>---------------------------------------------
>>Error when bootstrapping CMake:
>>Problem while running initial CMake
>>---------------------------------------------
>>
>>
>>
>>-----  Bootstrapping cmake output
>>IBMUSER:/code/cmake/cmake-2.4.3: > Bootstrap.cmk/cmake . 
>>-C"Bootstrap.cmk/InitialCacheFlags.cmake" -G"Unix Makefiles"
>>loading initial cache file Bootstrap.cmk/InitialCacheFlags.cmake
>>CMake Error: Error in cmake code at
>>/code/cmake/cmake-2.4.3/Bootstrap.cmk/InitialCacheFlags.cmake:1:
>>Parse error.  Expected a command name, got unquoted argument with text "# 
>>Generated by /code/cmake/cmake-2.4.3/bootstrap
>># Default cmake settings.  These may be overridden any settings below.
>>SET (CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Install path prefix, 
>>prepended onto install directories." FORCE)
>>SET (CMAKE_DOC_DIR "/doc/CMake" CACHE PATH "Install location for 
>>documentation (relative to prefix)." FORCE)
>>SET (CMAKE_MAN_DIR "/man" CACHE PATH "Install location for man pages 
>>(relative to prefix)." FORCE)
>>SET (CMAKE_DATA_DIR "/share/CMake" CACHE PATH "Install location for data 
>>(relative to prefix)." FORCE)
>>".
>>CMake Error: Error in cmake code at
>>/code/cmake/cmake-2.4.3/CMakeLists.txt:1:
>>Parse error.  Expected a command name, got unquoted argument with text 
>>"PROJECT(CMake)
>>CMAKE_MINIMUM_REQUIRED(VERSION 2.0)
>>MARK_AS_ADVANCED(CMAKE_BACKWARDS_COMPATIBILITY)
>>
>># The CMake version number.
>>SET(CMake_VERSION_MAJOR 2)
>>SET(CMake_VERSION_MINOR 4)
>>SET(CMake_VERSION_PATCH 3)
>>SET(CMake_VERSION "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
>>SET(CMake_VERSION_FULL "${CMake_VERSION}.${CMake_VERSION_PATCH}")
>>...
>>...
>>
>>_________________________________________________________________
>>Don't just search. Find. Check out the new MSN Search! 
>>http://search.msn.com/
>>
>>_______________________________________________
>>CMake mailing list
>>CMake at cmake.org
>>http://www.cmake.org/mailman/listinfo/cmake
>
>_________________________________________________________________
>Express yourself instantly with MSN Messenger! Download today it's FREE! 
>http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
>
>_______________________________________________
>CMake mailing list
>CMake at cmake.org
>http://www.cmake.org/mailman/listinfo/cmake

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE! 
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/



More information about the CMake mailing list