cmake引导找不到ncurses

时间:2019-09-23 21:09:49

标签: cmake ncurses cmake-gui

我正在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机器上重现它。

请告知。

1 个答案:

答案 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。这样做可以让我更好地了解哪一点失败了。在我尝试浏览构建目录的一个晦涩(对我来说!)目录结构之前。