我正在gcc和ncurses放在自定义位置/path/to/gcc/and/ncurses
的RHEL上构建cmake,该位置包含标准/usr
结构,即
/path/to/gcc/and/ncurses
bin
include
include/ncurses
lib
lib64
我的CPATH
和*LIBRARY_PATH
变量都指向适当的目录。
我不确定如何调试该过程。 bootstrap的详细输出只说:
-- Checking for curses support
-- Checking for curses support - Failed
当我在构建目录中查找curses时,我发现了一些参考,尤其是在Source/Checks/Curses-build/CMakeCache.txt
//Path to a library.
CURSES_CURSES_LIBRARY:FILEPATH=CURSES_CURSES_LIBRARY-NOTFOUND
//Path to a library.
CURSES_FORM_LIBRARY:FILEPATH=CURSES_FORM_LIBRARY-NOTFOUND
//Path to a file.
CURSES_INCLUDE_PATH:PATH=/gpfs/panther/local/apps/dev/core/gcc/9.2.0/include/ncurses
//Path to a library.
CURSES_NCURSES_LIBRARY:FILEPATH=CURSES_NCURSES_LIBRARY-NOTFOUND
和CMakeFiles/CMakeError.log
中的
Checking for curses support failed with the following output:
Change Dir: /path/to/build/Source/Checks/Curses-build
配置和构建步骤执行如下:
${SRC_DIR}/configure \
--prefix=${INSTALL_DIR} \
--verbose \
--parallel=16 \
&& make -j16 && make install
这似乎确实是一个小小的遗漏,但是在相同的构建脚本和cmake版本构建良好的情况下,我无法在类似的RHEL机器上重现它。
请告知。
答案 0 :(得分:0)
对,我设法通过cmake选项强制诅咒来解决问题。事实证明,bootstrap
程序可以在--
之后采用cmake选项。这就是我所做的:
${SRC_DIR}/configure \\
--prefix=${INSTALL_DIR} \
--verbose \
--parallel=16 -- \
-DBUILD_CursesDialog=ON \
-DCURSES_LIBRARY=${COMPILER_PREFIX}/lib/libncurses.so.6 \
-DCURSES_INCLUDE_PATH=${COMPILER_PREFIX}/include/ncurses \
&& make -j16 && make install
其中$COMPILER_PREFIX
前缀指向/path/to/gcc/and/ncurses
。这样做可以让我更好地了解哪一点失败了。在我尝试浏览构建目录的一个晦涩(对我来说!)目录结构之前。