- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 autoconf(2.69 版)生成能够检测 boost 并为 R 包生成 Makevars 文件的配置脚本。
我正在使用 autoconf-archive 中的 AX_BOOST_BASE 宏,如文档中所述 here .
当我运行配置脚本时,出现以下错误:
./configure
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gsl-config... /usr/local/bin/gsl-config
checking for GSL - version >= 1.12... yes
configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."
我的configure.ac文件如下:
AC_INIT([prjname], [0.1], [email@address.net])
AC_CONFIG_MACRO_DIR([m4])
: ${R_HOME=`R RHOME`}
if test -z "${R_HOME}"; then
AC_MSG_ERROR([Could not determine R_HOME])
fi
CXX=`"${R_HOME}/bin/R" CMD config CXX`
CPPFLAGS=`"${R_HOME}/bin/R" CMD config CPPFLAGS`
LDFLAGS=`"${R_HOME}/bin/R" CMD config LDFLAGS`
AC_LANG([C++])
AX_PATH_GSL([1.12], [], AC_MSG_ERROR([Could not find a useful version of GSL]))
AX_BOOST_BASE([1.41], [], AC_MSG_ERROR([Could not find a useful version of boost]))
AC_OPENMP
AC_CONFIG_FILES([src/Makevars])
AC_OUTPUT
没有 AX_BOOST_BASE(...
行配置脚本成功终止。我的 aclocal.m4 如下
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_include([m4/ax_boost_base.m4])
m4_include([m4/gsl.m4])
我是 autotools 新手,但我的印象是只有在使用 automake 时才需要 install-sh。 AX_BOOST_BASE 是否期望您使用的是 automake 而不仅仅是 autoconf 还是我有其他问题?
最佳答案
configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."
这表示缺少一些文件,这些文件通常由 autotools 生成。
尝试运行autoreconf -i -f
配置前。
关于c++ - 使用 AX_BOOST_BASE 进行 autoconf boost 检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22015858/
我正在构建我的第一个 autoconf 托管包。 但是,我在任何地方都找不到任何简单的示例来说明如何指定所需的库,并在不同的地方找到该库。 我目前有: AC_CHECK_LIB(['event'],
现在我正尝试在我的 Mac 上构建 Automake,到目前为止一切都进展顺利。我构建了 Autoconf 和 m4,没有任何问题(与 git pulls 相反)。然后我去了 Automake,这就是
我正在尝试在 RedHat Linux 机器上构建 ZooKeeper。 (ZooKeeper 到底是什么可能并不重要:-) 当我按照包装说明进行操作时,我得到: $ autoreconf -if
我对 autoconf 和 automake 的工作原理有非常基本的了解,这是从各种教程中收集的。但是,由于我希望我的库在构建过程中具有灵 active ,因此它们需要具有其他软件中常见的 --wit
为什么 autoconf 脚本中的条件语句在它们的变量前加上“x”?例如,GNU 提供的用于测试 Boost 的宏具有条件,例如 if test "x$want_boost" = "xyes"; th
我已经从 Autoconf Archive 下载了一个宏,我想使用它。我必须在我的 configure.ac 文件中放入什么才能使用这个宏? 最佳答案 您可能希望将 AC_CONFIG_MACRO_D
我正在开发一个将与 GNU autoconf/automake 一起分发的项目,并且我有一组调用 awk 脚本的 bash 脚本。我希望 bash 脚本最终出现在 $PATH 中,而不是 awk 脚本
我正在使用自动配置。现在我有一个生成的中间 .cpp 文件。我想在执行“make clean”时删除 .cpp 文件。 我尝试在 CONFIG_CLEAN_FILES 中指定文件变量,但这仅在我执行
我正在尝试构建 Gecko 代码,我从 Github 克隆了它: git clone https://github.com/mozilla/gecko-dev.git 我收到 autoconf 2.1
我正在运行 autoconf 并配置将 SHELL 设置为“/bin/sh”。这造成了巨大的问题。如何强制 SHELL 为 autoconf 的 '/bin/bash'? 我试图让它在 osx 上运行
文件说 Macro: AS_IF (test1, [run-if-true1], ..., [run-if-false]) Run shell code test1. If test1 exits w
当我运行 ./configure 时,它有时会认为它太旧了,并通过丢失的脚本重新运行 autoconf 以重新生成自身。有时它会导致奇怪的损坏,因为 autoconf 目标机器比最初用于生成配置的
我有一个configure.ac文件,其中包含以下行: AC_DEFINE(CONF_XDISP, ":8", "X screen number") 这些常量在C源代码中用于设置编译默认值。我还有一个
我想在 [] 中重新组合多个语句: AC_ARG_WITH( [float], [AS_HELP_STRING( [--with-float], [us
我正在尝试编写一个configure.ac文件,以便生成的配置脚本搜索包含给定静态库的库目录,例如libsomething.a.我怎样才能做到这一点?目前我让它只检查一个位置: AC_CHECK_FI
我已经了解了 CFLAGS and CPPFLAGS 之间的区别。但我的 Makefile.am 目前同时使用 DEFS 和 CPPFLAGS,我不确定其中的区别。 DEFS += -DLOCALED
我已经了解了 CFLAGS and CPPFLAGS 之间的区别。但我的 Makefile.am 目前同时使用 DEFS 和 CPPFLAGS,我不确定其中的区别。 DEFS += -DLOCALED
在我的 configure.ac 文件中,我有这样的警告和错误: AC_MSG_ERROR([找不到 Boost Math 头文件,您是否正确指定了 --with-boost-include-path
我正在尝试构建一个项目,但它抛出了一个错误: autoreconf: running: /usr/bin/autoconf --force configure.ac:19: error: possib
我有一个 C++ autoconf 管理的项目,我正在适应在 FreeBSD 主机上进行编译。 原来的系统是 Linux,所以我做了一个 AM_CONDITIONAL 来区分我正在构建的主机并将代码分
我是一名优秀的程序员,十分优秀!