【问题标题】:./configure generated Makefile requests for aclocal-1.11?./configure 为 aclocal-1.11 生成 Makefile 请求?
【发布时间】:2012-02-15 01:11:42
【问题描述】:

我是使用自动工具的新手,有一个非常严重的问题我不明白。 我想在一台 Linux Kernel 2.4.18-64GB-SMP 的旧机器上测试我的新构建系统。我在内核为 3.1.9-2-ARCH 的系统上构建了配置脚本和其他与自动工具相关的文件。

这是“./configure”的运行输出:

$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gawk... (cached) gawk
checking for gcc... colorgcc
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 colorgcc accepts -g... yes
checking for colorgcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of colorgcc... gcc
checking for ranlib... ranlib
checking whether make sets $(MAKE)... (cached) yes
checking for main in -lrt... yes
checking how to run the C preprocessor... colorgcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking wctype.h usability... yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for memmove... yes
checking for memset... yes
checking for setlocale... yes
checking for strchr... yes
checking for strcspn... yes
checking for strdup... yes
checking for strrchr... yes
checking for strspn... yes
checking for strstr... yes
checking for strtol... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/project/Makefile
config.status: creating include/config.h
config.status: executing depfiles commands

好的,那么,当我想运行 make 时,我得到了这个:

$ make
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/bp/project.test/mi
ssing --run aclocal-1.11 
/home/bp/project.test/missing: aclocal-1.11: command not found
WARNING: `aclocal-1.11' is missing on your system.  You should only need it if
         you modified `acinclude.m4' or `configure.ac'.  You might want
         to install the `Automake' and `Perl' packages.  Grab them from
         any GNU archive site.
 cd . && /bin/sh /home/bp/project.test/missing --run automake-1.11 --f
oreign
/home/bp/project.test/missing: automake-1.11: command not found
WARNING: `automake-1.11' is missing on your system.  You should only need it if
         you modified `Makefile.am', `acinclude.m4' or `configure.ac'.
         You might want to install the `Automake' and `Perl' packages.
         Grab them from any GNU archive site.
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/bp/project.test/mi
ssing --run autoconf
configure.ac:1: error: Autoconf version 2.68 or higher is required for this scri
pt
configure.ac:1: the top level
make: *** [configure] Error 1

之后,再次运行“make”来构建源代码。但是“configure”脚本和“aclocal.m4”脚本变成了零字节文件。

-rwxrwxr-x    1 bp    users       33918 Jan 20 13:48 config.status
-rwxrwxr-x    1 bp    users           0 Jan 20 13:48 configure
-rw-rw-r--    1 bp    users           0 Jan 20 13:48 aclocal.m4
-rw-rw-r--    1 bp    users       22165 Jan 20 13:48 Makefile.in

我能做什么?我认为 GNU 自动工具生成的配置脚本是独立于平台的,不需要自动工具运行?

有什么想法吗?

【问题讨论】:

  • Linux 内核版本无关紧要,重要的是“旧”系统没有正确版本的自动工具。安装它们,它会更好地工作。
  • 您好,但我认为目标系统不需要自动工具?
  • 空的 configure 和 aclocal.m4 脚本是因为 makefile 试图重新创建它们,但由于它失败了,所以它们是空的。如果您像对旧机器进行相同的复制,但在新机器上进行本地复制,它在那里的行为会相同吗?也许您在复制过程中遗漏了一个文件?
  • 自动生成的文件不应成为存储库的一部分,请参阅stackoverflow.com/questions/8865093/…
  • @jørgensen 是对的。具体来说,这意味着如果您从存储库构建,您确实需要目标系统上的自动工具。如果您是从 tarball 构建的,则不需要

标签: autotools configure


【解决方案1】:

如果您的 tarball 正在尝试运行 aclocal 和其他自动工具,则意味着 tarball 有问题。确保您的 tarball 来自 make distcheck

【讨论】:

    猜你喜欢
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多