起重机检查:autoheader:警告:缺少模板:HAVE_GSL_HEADER autoheader:使用AC_定义([HAVE_GSL_HEADER],],[说明])
最近,我正在维护的CRAN上的一个包出现以下错误: (我没有更改任何内容-错误只是以前不存在-CRAN可能添加了其他检查) 结果:警告 运行autoreconf的输出: 自动标头:警告:缺少模板:具有\u GSL\u标头 自动标头:使用AC_定义([具有\u GSL_标头],[说明]) 自动恢复:/usr/bin/autoheader失败,退出状态:1 口味:r-devel-linux-x86_64-fedora-clang,r-devel-linux-x86_64-fedora-gcc 以下是指向CRAN检查页面的链接: 该错误似乎只出现在r-devel-linux-x86_64-fedora-clang、r-devel-linux-x86_64-fedora-gcc中 Github到包源代码的链接: 该包使用GSL库。(如果有人怀疑错误消息中的GSL) 不幸的是,我只是超越了软件包的维护,对C语言的东西没有太多的想法 我假设,错误消息与包的R部分无关。我必须在C文件的某个地方添加AC_DEFINE吗 谁能给我解释一下,错误信息到底对我说了什么。我想这可能已经帮我弄明白了 编辑: 我想我必须更改此文件中的某些内容(只是猜测) 但那里的代码如下所示:起重机检查:autoheader:警告:缺少模板:HAVE_GSL_HEADER autoheader:使用AC_定义([HAVE_GSL_HEADER],],[说明]),r,gsl,cran,R,Gsl,Cran,最近,我正在维护的CRAN上的一个包出现以下错误: (我没有更改任何内容-错误只是以前不存在-CRAN可能添加了其他检查) 结果:警告 运行autoreconf的输出: 自动标头:警告:缺少模板:具有\u GSL\u标头 自动标头:使用AC_定义([具有\u GSL_标头],[说明]) 自动恢复:/usr/bin/autoheader失败,退出状态:1 口味:r-devel-linux-x86_64-fedora-clang,r-devel-linux-x86_64-fedora-gcc 以下是
if test "${HAVE_GSL}" = TRUE; then
dnl Define HAVE_GSL_H in src/config.h
AC_CHECK_HEADERS([gsl/gsl_version.h],AC_DEFINE(HAVE_GSL_HEADER), [HAVE_GSL=FALSE])
if test "${HAVE_GSL}" = FALSE; then
AC_MSG_WARN([gsl headers not found, perhaps check the path?])
AC_MSG_WARN([ridge will be installed, but some functions will be
unavailable])
fi
fi
因此,似乎有一个语句AC\u DEFINE(HAVE\u GSL\u HEADER),[HAVE\u GSL=FALSE]) 将下面的内容放入名为
diff.patch
的文件或顶部目录中您喜欢的任何文件中
diff --git a/configure.ac b/configure.ac
index e643140..0b256a6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,8 @@ fi
if test "${HAVE_GSL}" = TRUE; then
dnl Define HAVE_GSL_H in src/config.h
- AC_CHECK_HEADERS([gsl/gsl_version.h],AC_DEFINE(HAVE_GSL_HEADER),[HAVE_GSL=FALSE])
+ AC_CHECK_HEADERS([gsl/gsl_version.h],
+ AC_DEFINE(HAVE_GSL_HEADER, [], [Description]),[HAVE_GSL=FALSE])
if test "${HAVE_GSL}" = FALSE; then
AC_MSG_WARN([gsl headers not found, perhaps check the path?])
AC_MSG_WARN([ridge will be installed, but some functions will be unavailable])
运行patch-p1
现在,
autoreconf
应该可以重建所有文件了。将下面的文件放入名为diff.patch
的文件或顶部目录中您喜欢的任何文件中
diff --git a/configure.ac b/configure.ac
index e643140..0b256a6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,8 @@ fi
if test "${HAVE_GSL}" = TRUE; then
dnl Define HAVE_GSL_H in src/config.h
- AC_CHECK_HEADERS([gsl/gsl_version.h],AC_DEFINE(HAVE_GSL_HEADER),[HAVE_GSL=FALSE])
+ AC_CHECK_HEADERS([gsl/gsl_version.h],
+ AC_DEFINE(HAVE_GSL_HEADER, [], [Description]),[HAVE_GSL=FALSE])
if test "${HAVE_GSL}" = FALSE; then
AC_MSG_WARN([gsl headers not found, perhaps check the path?])
AC_MSG_WARN([ridge will be installed, but some functions will be unavailable])
运行patch-p1
现在,
autoreconf
应该可以重新构建了。非常感谢!我试试这个。不幸的是,我不得不上传到CRAN进行检查……因为Travis CI、R-Hub和我自己的计算机在检查时没有显示此消息。这项检查现在似乎只在CRAN build服务器上实现……非常感谢!我试试这个。不幸的是,我不得不上传到CRAN进行检查……因为Travis CI、R-Hub和我自己的计算机在检查时没有显示此消息。目前,此检查似乎仅在CRAN build服务器上实施。。。