本文介绍了为什么 autogen.sh 即使使用正确的 autoconf 也会失败?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

autogen.sh 失败,输出显示我需要更高版本的 autoconf.但实际上我有一个 2.6 倍的自动配置....

autogen.sh failed, the output shows that i need an autoconf of higher version. but in fact i have a 2.6x autoconf....

为什么还是失败了?

[mirror@home 4]$ ./autogen.sh
+ autoreconf -i -f -v
autoreconf: Entering directory `.'
autoreconf: configure.in: not using Gettext
autoreconf: running: aclocal --force -I m4
configure.in:4: error: Autoconf version 2.60 or higher is required
configure.in:4: the top level
autom4te: /usr/bin/m4 failed with exit status: 63
aclocal: autom4te failed with exit status: 63
autoreconf: aclocal failed with exit status: 63

//configure 中的内容:4
这是 AC_PREREQ(2.60)

// content in configure:4
it's AC_PREREQ(2.60)

[mirror@home 4]$ autoconf
autoconf      autoconf2.59  autoconf2.6x
[mirror@home 4]$ autoconf
[mirror@home 4]$ ls -l autocon
[mirror@home 4]$ ls /usr/bin/autoconf* -l
lrwxrwxrwx 1 root root    12 Aug 27 13:55 /usr/bin/autoconf -> autoconf2.6x
-rwxr-xr-x 1 root root  7663 Jan  6  2007 /usr/bin/autoconf2.59
-rwxr-xr-x 1 root root 14635 Feb  3  2011 /usr/bin/autoconf2.6x

2.63 > 2.60,但是autogen失败了,真的很混乱:(

2.63 > 2.60, but autogen failed, it's really confusing:(

[mirror@home 4]$ autoconf --version
autoconf (GNU Autoconf) 2.63
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later
<http://gnu.org/licenses/old-licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille.

更多细节:

    autoreconf --version
    autoreconf (GNU Autoconf) 2.59

我想知道为什么 autogen.sh 失败了?

what i want to know is why autogen.sh failed?

推荐答案

您安装了两个版本的 autoconf,当 aclocal 运行 autom4te 时,这会启动旧版本.您的路径中有 autom4te-2.6x 吗?如果是这样,请在运行 autoreconf-2.64 之前设置 export AUTOM4TE=autom4te2.6x.

You have two versions of autoconf installed, and when aclocal runs autom4te, this launches the old one. Do you have a autom4te-2.6x in your path? If so, set export AUTOM4TE=autom4te2.6x before running autoreconf-2.64.

或者直接运行:

AUTOM4TE=autom4te2.6x ./autogen.sh

另见:

将 autoconf 更新至至少 2.6

为什么我用autoconf2.6x编译autoconf失败,反正它的版本比2.6新

这篇关于为什么 autogen.sh 即使使用正确的 autoconf 也会失败?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-18 22:51