令我懊恼的是,我在 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
因此触发问题的文件夹被跳过。