Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在AIX上构建Cmake不成功?_Cmake_Aix - Fatal编程技术网

在AIX上构建Cmake不成功?

在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

我试图重现AIX上报告的一个问题。我需要在
$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"
$