make找不到sys / signal.h

时间:2014-03-24 04:21:58

标签: c makefile mingw configure m4

我正在尝试在MINGW中安装m4

./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位于PATH环境中设置的\c\mingw\include

如何告诉make signal.h在哪里?

1 个答案:

答案 0 :(得分:2)

将评论转换为答案:

  

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

     

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

如果这样 - 似乎 - 检查您的MinGW安装是否正确且是最新的。如果是,请将问题报告给m4的维护人员(signal.h处的电子邮件bug-m4),但请访问网站以获取有关如何执行此操作的说明。

考虑删除原先不存在的复制的gnu.org。 OTOH,你将来可能会再次需要它 - 但就个人而言,如果装置处于原始状态并且只在绝对必要时才进行破解,我会感到更高兴。