在AIX上构建Cmake不成功?
我试图重现AIX上报告的一个问题。我需要在在AIX上构建Cmake不成功?,cmake,aix,Cmake,Aix,我试图重现AIX上报告的一个问题。我需要在$HOME中安装CMake,因为机器缺少CMake,而且我不是机器上的管理员。这台机器坏了。如果重要的话,GCC119是ppc64 be 我下载了CMake 3.11并解压缩到$HOME/CMake-3.11/中。根据自述文件.rst: UNIX/Mac OSX/MinGW/MSYS/Cygwin^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 你需要有一个C++编译器(支持C++ 11)和一个 > 安装。运行在源代码中找到的bootstr
$HOME
中安装CMake,因为机器缺少CMake,而且我不是机器上的管理员。这台机器坏了。如果重要的话,GCC119是ppc64 be
我下载了CMake 3.11并解压缩到$HOME/CMake-3.11/
中。根据自述文件.rst
:
UNIX/Mac OSX/MinGW/MSYS/Cygwin^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
你需要有一个C++编译器(支持C++ 11)和一个<代码> > <代码> 安装。运行在源代码中找到的
bootstrap
脚本
CMake目录。您可以使用--help
选项查看
支持的选项。您可以使用--前缀=
选项指定CMake的自定义安装目录。你可以
从CMake源目录中运行bootstrap
脚本,或
您选择的任何其他生成目录。一旦这一切结束
成功运行make
和makeinstall
。总结如下:
$ ./bootstrap && make && make install
这似乎相当直截了当:
-bash-4.4$ CXX=g++ ./bootstrap --prefix=$HOME
---------------------------------------------
CMake 3.11.4, Copyright 2000-2018 Kitware, Inc. and Contributors
C compiler on this system is: gcc -pthread
C++ compiler on this system is: g++ -pthread
Makefile processor on this system is: gmake
-bash-4.4$ gmake
gmake: *** No targets specified and no makefile found. Stop.
-bash-4.4$ make
make: *** No targets specified and no makefile found. Stop.
-bash-4.4$ find . -name Makefile
-bash-4.4$ find . -name makefile
-bash-4.4$ find . -name cmake
./Auxiliary/bash-completion/cmake
看起来事情没有成功,但我不确定哪里出了问题,或者如何继续。似乎没有日志文件,或者:
-bash-4.4$ ls *.log
ls: 0653-341 The file *.log does not exist.
我的下一步是什么
似乎有几个问题。首先,Cmake不能使用IBMXLC。当它尝试使用XLC引导时,会选择它无法处理的选项,因此它会死掉 第二,围绕这一问题开展工作:
CC=gcc CXX=g++ ./bootstrap --prefix="$HOME/cmake"
结果:
$ CC=gcc CXX=g++ bash -x ./bootstrap --prefix="$HOME/cmake"
++ uname
+ cmake_system=AIX
+++ dirname ./bootstrap
++ cd .
++ pwd
+ cmake_source_dir=/home/noloader/build-llvm/cmake_build
...
+ gmake
g++ -pthread -I/home/noloader/build-llvm/cmake_build/Bootstrap.cmk \
-I/home/noloader/build-llvm/cmake_build/Source \
-I/home/noloader/build-llvm/cmake_build/Source/LexerParser \
-I/home/noloader/build-llvm/cmake_build/Utilities \
-c /home/noloader/build-llvm/cmake_build/Source/cmAddCustomCommandCommand.cxx-o \
cmAddCustomCommandCommand.o
In file included from /home/noloader/build-llvm/cmake_build/Source/cmTarget.h:16:0,
from /home/noloader/build-llvm/cmake_build/Source/cmGlobalGenerator.h:21,
from /home/noloader/build-llvm/cmake_build/Source/cmAddCustomCommandCommand.cxx:11:
/home/noloader/build-llvm/cmake_build/Source/cmAlgorithms.h:8:10:
fatal error: cm_kwiml.h: No such file or directory
#include "cm_kwiml.h"
^~~~~~~~~~~~
compilation terminated.
Makefile:4: recipe for target 'cmAddCustomCommandCommand.o' failed
gmake: *** [cmAddCustomCommandCommand.o] Error 1
+ RES=2
+ '[' 2 -ne 0 ']'
+ cmake_error 9 'Problem while running gmake'
+ res=9
+ shift 1
这里的问题是,没有文件cm_kwiml.h
:
$ pwd
/home/noloader/build-llvm/cmake_build
$ find . -name "cm_kwiml.h"
$
我不知道如何解决这个问题。在S.O上很少有AIX人员(但您可能会幸运!)。我在的AIX部分看到了很好的答案,IBM用户论坛上也曾提供过很好的支持。在我使用AIX的地方,安装任何东西都是一个为期6个月的项目,所以我会尝试编写自己的解决方案作为代码;-/。YRMV。祝你好运。首先,将选项
--verbose
添加到bootstrap
下载源代码(),你会发现cmake-3.11.4/Utilities/cm_kwiml.h
FWIW,我已经在AIX/XLC上成功地使用了cmake。。。但那已经是两年前的事了,我再也不能访问AIX机器了。这些文物仍在保存中。因此,如果CMake不再在AIX上工作,那就是一种倒退。使用IBM XL C/C++for AIX构建CMake的问题正在讨论中。@DevSolar-在下一步请求一个帐户。他们有8台PowerPC机。GCC111是使用POWER7的AIX,GCC119是使用POWER8的AIX。或者,用你的SSH密钥通过noloader、gmail帐户给我发电子邮件。我将临时将您添加到我的帐户中。
$ pwd
/home/noloader/build-llvm/cmake_build
$ find . -name "cm_kwiml.h"
$