在 FreeBSD 上从源代码构建 m4 错误:不知道如何制作 ../../build-aux/snippet/c++defs.h

在 FreeBSD 上从源代码构建 m4 错误:不知道如何制作 ../../build-aux/snippet/c++defs.h

我正在使用 FreeBSD 13.0-CURRENT(有关更多信息,请参阅这里),我想用GNU m4。已下载这个版本对其进行配置并尝试制作。但它给出了标题中所述的错误: error: don't know how to make ../../build-aux/snippet/c++defs.h。对于整个日志,看这里。任何想法?感谢所有的建议和答案。

EDIT1:确实,我的 m4 版本是 1.4.17。

答案1

刚刚在这里解压了 m4-1.4.17(Fedora 31;你的latest可能是另一个版本......但它似乎是 2013 年的版本)。有问题的文件就在那里(在build-aux/snippet)。有一个名为bootstrap“included”的脚本,但大概只有直接来自版本控制的源才需要该脚本。

传统./configure; make舞蹈进展顺利,但在编译了一堆内容后失败了:

freadahead.c: In function 'freadahead':
freadahead.c:91:3: error: #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib."

简单搜索“GNU m4 FreeBSD”即可找到新鲜港口, FreeBSD 的m4说明书谈论-g激活 GNU m4 兼容性的选项。为什么这些还不够?想必 FreshPorts 所携带的任何补丁版本都是一个更好的起点(如果它们是文明的并且携带原始源代码和单独的补丁,那么将补丁移植到另一个版本比自己调试这个混乱的工作要少)。

相关内容