[CMake] xlC / HAVE_GETHOSTBYNAME_R_6 (Was Re: CMake 2.8.0 RC 1 ready for testing!)
Mathieu Malaterre
mathieu.malaterre at gmail.com
Thu Oct 1 03:42:45 EDT 2009
On Wed, Sep 30, 2009 at 3:39 PM, Brad King <brad.king at kitware.com> wrote:
> Mathieu Malaterre wrote:
>>> /opt/ibmcmp/vacpp/9.0/bin/cc -DHAVE_GETHOSTBYNAME_R_5 -o CMakeFiles/cmTryCompileExec.dir/CurlTests.c.o -c "/home/mmalater/Dashboards/My Tests/CMakeXLC/Utilities/cmcurl/CMake/CurlTests.c"
>> "/home/mmalater/Dashboards/My
>> Tests/CMakeXLC/Utilities/cmcurl/CMake/CurlTests.c", line 247.16:
>> 1506-098 (E) Missing argument(s).
>>> echo $?
>> 0
> [snip]
>> This seems quite a common things to always add -qhalt=e in all
>> configure script I found. Looking at what curl does with this compiler
>> this leads to the following local changes for me:
>
> I've factored the XL compiler flags out of AIX.cmake into per-compiler
> files, and also added the flags you propose. See commits below.
>
> -Brad
>
>
> Split XL compiler information files
> /cvsroot/CMake/CMake/Modules/Compiler/XL-C.cmake,v <-- Modules/Compiler/XL-C.cmake
> new revision: 1.2; previous revision: 1.1
> /cvsroot/CMake/CMake/Modules/Compiler/XL-CXX.cmake,v <-- Modules/Compiler/XL-CXX.cmake
> new revision: 1.2; previous revision: 1.1
> /cvsroot/CMake/CMake/Modules/Compiler/XL-Fortran.cmake,v <-- Modules/Compiler/XL-Fortran.cmake
> new revision: 1.2; previous revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/AIX-VisualAge-C.cmake,v <-- Modules/Platform/AIX-VisualAge-C.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/AIX-VisualAge-CXX.cmake,v <-- Modules/Platform/AIX-VisualAge-CXX.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/AIX-XL-C.cmake,v <-- Modules/Platform/AIX-XL-C.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/AIX-XL-CXX.cmake,v <-- Modules/Platform/AIX-XL-CXX.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/AIX-XL-Fortran.cmake,v <-- Modules/Platform/AIX-XL-Fortran.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/AIX.cmake,v <-- Modules/Platform/AIX.cmake
> new revision: 1.22; previous revision: 1.21
> /cvsroot/CMake/CMake/Modules/Platform/Darwin-VisualAge-C.cmake,v <-- Modules/Platform/Darwin-VisualAge-C.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/Darwin-VisualAge-CXX.cmake,v <-- Modules/Platform/Darwin-VisualAge-CXX.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/Darwin-XL-C.cmake,v <-- Modules/Platform/Darwin-XL-C.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/Darwin-XL-CXX.cmake,v <-- Modules/Platform/Darwin-XL-CXX.cmake
> initial revision: 1.1
> /cvsroot/CMake/CMake/Modules/Platform/Darwin-xlc.cmake,v <-- Modules/Platform/Darwin-xlc.cmake
> new revision: delete; previous revision: 1.3
>
> Add initial XL C compiler flags for safer builds
> /cvsroot/CMake/CMake/Modules/Compiler/XL-C.cmake,v <-- Modules/Compiler/XL-C.cmake
> new revision: 1.3; previous revision: 1.2
>
The 32bits xlC is now perfectly clean, congrats !
http://www.cdash.org/CDash/viewTest.php?onlyfailed&buildid=439244
A couple of warnings that's all:
http://www.cdash.org/CDash/viewBuildError.php?type=1&buildid=439244
However, there are still two issues remaining with xlC -q64 (64bits
compilation) :
http://www.cdash.org/CDash/viewTest.php?onlyfailed&buildid=439310
I do not understand what I need to adjust to get the path right, for instance:
> file /usr/lib/qt3/lib/libqt-mt.so.3.3.7
/usr/lib/qt3/lib/libqt-mt.so.3.3.7: ELF 32-bit MSB shared object,
PowerPC or cisco 4500, version 1 (SYSV), stripped
> file /usr/lib/qt3/lib64/libqt-mt.so.3.3.7
/usr/lib/qt3/lib64/libqt-mt.so.3.3.7: ELF 64-bit MSB shared object,
cisco 7500, version 1 (SYSV), stripped
Thanks again !
--
Mathieu
More information about the CMake
mailing list