0

我想从 autoconf 2.62 更新到 2.69。

我下载了源代码并运行了以下命令:

./configure
make
make install

这些都顺利完成。

当我运行时,autoconf --version我得到以下信息:

autoconf --version
autoconf (GNU Autoconf) ?K??
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.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.

您在这里看到的问题是版本报告为?K?? .

为什么会这样?我的机器在 EBCDIC 代码页中运行,我想知道这是否可以关联。是否有我需要添加的配置/制作选项。

这个问题使我无法编译其他软件,因为配置脚本会检查 autoconf 报告的版本,但最终无法通过这些检查。

-----UPDATE------- 我已make check按要求运行,这是输出:

autoconf269: >make check
make  check-recursive
Making check in bin
Making check in .
Making check in lib
Making check in Autom4te
Making check in m4sugar
make  check-local
Making check in autoconf
make  check-local
Making check in autotest
make  check-local
Making check in autoscan
Making check in emacs
Making check in doc
make: Makefile: line 436: Warning -- FSUM9433 Duplicate entry [fdl.texi] in prerequisite list
Making check in tests
make  check-local
cd ../lib/autotest && make  autotest.m4f
`autotest.m4f' is up to date
autom4te_perllibdir='..'/lib                     AUTOM4TE_CFG='../lib/autom4te.cfg'         ../bin/autom4te  -B '..'/lib -B '..'/lib --language=autotest -I . -I . suite.at -o ./testsuite.tmp
m4:local.at:18: bad expression in eval (bad input): ((?+1+0) > (2+0)) - ((?+1+0) < (2+0))
autom4te: /workarea/tools/m4/bin/m4 failed with exit status: 1
FSUM8226 make: Error code 1 
FSUM8226 make: Error code 255 
FSUM8226 make: Error code 1 
FSUM8226 make: Error code 255 

我的眼睛被吸引到:m4:local.at:18: bad expression in eval (bad input): ((?+1+0) > (2+0)) - ((?+1+0) < (2+0))- 任何想法为什么这可能被认为是一个糟糕的表达?

4

1 回答 1

2

一种可能性:您编译的 autoconf 安装在 /usr/local 中,而预安装的 autoconf 在 /usr 中。/usr 在 PATH 中是第一个,因此使用的是预安装的。

您还可以在运行 make install 之前检查版本,以确保新版本解决了您的问题。

于 2018-05-30T09:22:21.097 回答