在 SLES 2011 上编译 ncurses 5 时出现问题

在 SLES 2011 上编译 ncurses 5 时出现问题

令我懊恼的是,我在 SLES (SUSE Linux Enterprise) 11 上以非 root 用户身份工作。我不是 root,无法安装软件包。

我正在尝试构建 ncurses-5.9。构建配置并取得了相当大的进展,没有出现任何问题,但在某些时候我得到了

cd ../objects;   -I../c++ -I../include -I. -DHAVE_CONFIG_H  -D_GNU_SOURCE -DNDEBUG -I. -I../include -I/opt/nano/include/ncurses  -c ../c++/cursesf.cc
/bin/sh: -I../c++: No such file or directory
make[1]: *** [../objects/cursesf.o] Error 127

看起来 Make 正在使用一些不存在的二进制变量。

这个问题与描述的问题类似这里,但与该问题不同 - 我无法安装发行版的打包版本;我也不想构建发行版的版本。我已经从 ncurses 网站下载了 tarball。

我怎样才能完成构建?

答案1

这是一个常见问题解答:我需要 C++ 绑定吗?

在 5.0 中,配置脚本提供了两个选项(--without-cxx--without-cxx-binding)。使用前者可以抑制 C++ 编译器的配置检查,例如,当系统上没有可用的 C++ 编译器时。如果必须的话,请使用后者来省略 C++ 绑定。

问题本身应该很明显:

cd ../objects;   -I../c++ 
              ^^^ (no C++ compiler was found)

答案2

一个解决方法(应该足够好)是配置 ncurses,不要尝试构建与 C++ 相关的部分:

./configure --without-cxx

因此触发问题的文件夹被跳过。

相关内容