在 make 期间编译 nano 命中问题

Posted

技术标签:

【中文标题】在 make 期间编译 nano 命中问题【英文标题】:Compiling nano hitting problems during make 【发布时间】:2018-05-24 22:01:30 【问题描述】:

我正在尝试编译 nano,但遇到了一些问题。

详情如下——我无法更改的版本(在s390架构上编译,无权访问其他版本):

纳米源版本 2.9.7 使用 autoconf 版本 2.62 使用 automake 1.10 版 更改了配置脚本,因此它通过更改配置行am__api_version='1.10' 来查找工具版本 1.10 而不是 1.15

我运行configure,然后运行make。在运行 make 我得到以下错误:

make
CDPATH="$ZSH_VERSION+.:" && cd . && /bin/sh /u/user/source/nano-2.9.7/missing aclocal-1.10 -I m4
main::scan_file() called too early to check prototype at /workarea/tools/automake/bin/aclocal-1.10 line 604.
configure.ac:27: error: Autoconf version 2.69 or higher is required
configure.ac:27: the top level
autom4te: /usr/local/bin/m4 failed with exit status: 63
aclocal-1.10: autom4te failed with exit status: 63
WARNING: 'aclocal-1.10' is probably too old.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
FSUM8226 make: Error code 63 

我在第一行注意到它说:CDPATH="$ZSH_VERSION+.:" &amp;&amp; cd . &amp;&amp; /bin/sh /u/user/source/nano-2.9.7/missing aclocal-1.10 -I m4 我不知道如何阅读此错误,因为aclocal-1.10 在我的路径上并已安装。当我从我的 bash shell 运行 aclocal-1.10 时,我得到:

aclocal-1.10
main::scan_file() called too early to check prototype at /workarea/tools/automake/bin/aclocal-1.10 line 604.
aclocal-1.10: `configure.ac' or `configure.in' is required

更新 我去了configure.ac的第27行并更改了行 AC_PREREQ([2.69])AC_PREREQ([2.62])。现在,当发出 make 命令时,它会失败并出现以下错误:

source/nano-2.9.7: >make
CDPATH="$ZSH_VERSION+.:" && cd . && /bin/sh /u/user/source/nano-2.9.7/missing aclocal-1.10 -I m4
main::scan_file() called too early to check prototype at /workarea/tools/automake/bin/aclocal-1.10 line 604.
(CDPATH="$ZSH_VERSION+.:" && cd . && /bin/sh /u/user/source/nano-2.9.7/missing autoheader)
autoheader: error: AC_CONFIG_HEADERS not found in configure.ac
FSUM8226 make: Error code 1 
make: './config.h.in' removed.

请就如何绕过我的系统施加的限制提供指导和支持,以便编译我最喜欢的命令行编辑器!

【问题讨论】:

【参考方案1】:

两个简单的解决方案:更新您的 autoconf 包。

或者修复你的时间戳,这样 autoconf 就不会被重新调用,例如通过触摸分发中的所有文件。

find . | xargs touch

【讨论】:

您能否更详细地解释一下修复时间戳的含义?我以前没有遇到过这个吗?此外,您确定您的解决方案可以解决问题的“更新”部分下的问题吗? 好吧更新,只是意味着开发人员将 autoconf 要求放在那里是有原因的。

以上是关于在 make 期间编译 nano 命中问题的主要内容,如果未能解决你的问题,请参考以下文章

ccache 在不删除 CMake 文件的情况下不会命中缓存

为啥在编译期间不使用 GCC 选项 -Os?

编译期间netbean中的错误

Libtool 在 make install 期间未创建版本信息符号链接

nano-2:安装opencv 410

GDB:断点没有被命中