我正在尝试在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
在哪里?
答案 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,你将来可能会再次需要它 - 但就个人而言,如果装置处于原始状态并且只在绝对必要时才进行破解,我会感到更高兴。