当我试图编译nettle-2.7.1时,我得到了以下内容:
根@tcx2270-19:~/荨麻-2.7.1# make:警告:找不到aes-decrypt-internal.o.d': No such file or directory make: Fatal error in reader: Makefile, line 594: Read of include fileaes-解密-内部.o.d‘失败
有人看过这个问题吗?谢谢。
发布于 2014-09-25 06:32:22
我也有同样的问题。这和gmp无关。./配置脚本生成一个损坏的Makefile。在对生成的Makefile进行了一些分析之后,我想出了一个解决方案。
在生成的Makefile的最底部搜索如下所示的行:
DEP_FILES = $(SOURCES:.c=.$(OBJEXT).d) $(SOURCES:.c=.p$(OBJEXT).d) asm.d您可以通过将构建更改为以下行来修复该构建:
DEP_FILES = $(SOURCES:.c=.c.$(OBJEXT).d) $(SOURCES:.c=.c.p$(OBJEXT).d) asm.d此外,我们还必须修复所有子目录中的Makefiles。
对于底部的./tools/Makefile,,可以找到如下所示的行:
include $(SOURCES:.c=.$(OBJEXT).d)并将其改为
include $(SOURCES:.c=.c.$(OBJEXT).d)此外,还需要添加以下两个构建目标:
../libnettle.a:
$(MAKE) -C .. libnettle.a
../libhogweed.a:
$(MAKE) -C .. libhogweed.a对于最底层的./testsuite/Makefile,,可以找到如下所示的一行:
DEP_FILES = $(SOURCES:.c=.$(OBJEXT).d) $(CXX_SOURCES:.cxx=.$(OBJEXT).d)并将其改为:
DEP_FILES = $(SOURCES:.c=.c.$(OBJEXT).d) $(CXX_SOURCES:.cxx=.cxx.$(OBJEXT).d)最后,在最底层的./examples/Makefile,中,搜索如下所示的行:
include $(SOURCES:.c=.$(OBJEXT).d)并将其改为
include $(SOURCES:.c=.c.$(OBJEXT).d)啊,至少对我来说,这就是建造的工作。当然,这是一个丑陋的解决方案,但它可以完成任务。一个更好的解决方案是修复配置脚本,但我还没有时间去做。还值得注意的是,nettle3.0没有这个问题。不幸的是,gnutls不适用于那个更新的版本。
发布于 2014-09-25 07:41:17
UPDATE:我创建了一个修补程序,用于执行Makefile.in文件中的所有上述修复。因此,你不必自己修理它们。最优的做法是,只需解压缩源代码,应用修补程序,并按照通常的方式继续进行./配置。
从这里得到它:http://pastebin.com/36M5LHK3
https://stackoverflow.com/questions/25984688
复制相似问题