我正在尝试构建一些代码,但发现我需要先更改 configure.ac 文件,因为它没有在正确的位置搜索 ruby 标头。今天是我第一次查看 config.ac 文件,所以在挖掘和更改它们时肯定会出现问题!但是,是的,我对这类事情完全是新手,所以如果这是一个愚蠢的问题,我深表歉意。
在我的系统上,该ruby.h
文件位于/usr/include/ruby/ruby.h
,并且实际上有一个类似名称的文件位于/usr/include/ruby.h
。我承认我不知道哪个是正确的,但无论哪种方式,我的配置脚本都找不到它。
这是我的 configure.ac 文件的一部分,应该找到正确的标题:
CPPFLAGS="$CPPFLAGS -I/usr/include/ruby"
AC_MSG_CHECKING([CPPFLAGS are $CPPFLAGS])
AC_CHECK_HEADER([ruby.h],
[AC_DEFINE(HAVE_RUBY_H, 1, [has ruby.h -- ruby-dev is installed] )],
[AC_MSG_ERROR([Sorry, you need ruby-dev (headers) installed])])
CPPFLAGS=$SAVE_CPPFLAGS
但这是我得到的输出:
checking ruby.h usability... no
checking ruby.h presence... no
checking for ruby.h... no
configure: error: Sorry, you need ruby-dev (headers) installed
在config.log
文件中,给出了以下消息:
configure:13689: checking ruby.h usability
configure:13689: gcc -c -I/usr/include/ruby/ conftest.c >&5
In file included from conftest.c:69:0:
/usr/include/ruby/ruby.h:24:25: fatal error: ruby/config.h: No such file or directory
我不明白config.h
它正在寻找的文件到底是什么。
另外,我在这里发现了类似的问题,但我尝试了建议的修复(即在 AC_CHECK_HEADER 调用中指定路径),但没有任何效果。我也在这里看到了这个问题,这让我认为我的问题可能是权限问题,但我仍然不知道config.h
日志所讨论的文件的用途。它无处可寻。
有任何想法吗?