编译 fribidi 时 autoreconf 失败

autoreconf failed when compiling fribidi

我用来编译的命令是

./bootstrap

结果是:

Usable autoreconf found, running    
main::scan_file() called too early to check prototype at 
/usr/local/bin/aclocal line 617.
aclocal: couldn't open directory `m4': No such file or directory
autoreconf: aclocal failed with exit status: 1

通过跟踪 bootsrap,我发现这些错误是由以下原因引起的:

autoreconf     --force --install

autoreconf 版本为:

autoreconf (GNU Autoconf) 2.69
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

谁能帮我解决这个问题。

实际错误是由 aclocal 引发的(由 autoreconf 调用)。

aclocal 的最新版本应该可以很好地处理这个问题,因此请检查您的本地版本(或者:您实际上 运行 是否是正确的 aclocal-binary)

或者,您可以简单地在构建目录中创建一个(空的)m4/ 目录。

可以说这(确保 m4/ 目录存在)应该由 bootstrap 脚本处理,但是:

  • current fribidi 放弃了 autotools 以支持 meson(尽管它仍然支持 autotools

  • fribidi 带有一个非空的 m4 目录已经有一段时间了。

  • afaict,使用 autotools 且缺少 m4/ 目录的 fribidi 的最后一个版本是 0.19.7(大约 2015-08 发布)

所以:请使用任何库的最新最好(稳定)版本。如果你不能,你应该在你的问题描述中明确说明,并注明你正在尝试编译哪个版本。