1

我正在尝试安装m4在 MINGW

正常结束后./configure我尝试make但发生错误。

make[1]: Entering directory `/c/src/autotools/build_m4/src'
gcc -c -DHAVE_CONFIG_H -I.. -I../../m4-1.4/src -I../../m4-1.4/src/../lib  -g -O
../../m4-1.4/src/m4.c
../../m4-1.4/src/m4.c:22:24: fatal error: sys/signal.h: No such file or director
y
 #include <sys/signal.h>
                        ^
compilation terminated.
make[1]: *** [m4.o] Error 1
make[1]: Leaving directory `/c/src/autotools/build_m4/src'
make: *** [all] Error 1

signal.h\c\mingw\includePATH 环境中设置。

我怎么知道make在哪里signal.h

4

1 回答 1

3

将评论转换为答案:

在大多数 Unix 系统上,该文件/usr/include/signal.h包含#include <sys/signal.h>. 似乎这m4是假设会有一个<sys/signal.h>- 大概没有autoconf检查它是否存在。这可能是(配置过程)中的错误m4,也可能是您的设置有问题。

您以前是否能够编译其他 GNU 程序?是否有目录/c/mingw/include/sys(或\c\mingw\include\sys)?如果没有,您可以通过在其中创建一个sys子目录\c\mingw\include(如果它丢失)并复制signal.h到其中来开始。但这是一个可能的错误的黑客解决方法。

如果这可行 - 看起来 - 检查您的 MinGW 安装是否正确且是最新的。m4如果是这样,请将问题报告给(email bug-m4at )的维护人员gnu.org,但请查看网站以获取有关如何执行此操作的说明。

考虑删除复制signal.h的,因为它最初不存在。OTOH,您将来可能会再次需要它 - 但就个人而言,如果安装正常处于原始状态并且仅在绝对必要时进行黑客攻击,我会感到更高兴。

于 2014-03-24T05:58:02.463 回答