HTK编译错误:make [1]:“全部”不做任何事情

时间:2019-08-21 18:41:52

标签: c gcc makefile htk makefile-errors

official HTK Unix/Linux installation guide之后,尝试在HTK上运行make all时遇到了与this thread中描述的问题类似的问题。正如MadScientist所建议的,我最初查看的是错误的Makefile(/htk-3.4.1/Makefile)。在通过运行/htk-3.4.1/HLMTools/Makefile生成的正确的Makefile(./configure --prefix=/tmp)中的第77行上修复了额外的缩进之后,HTK编译错误:

Makefile:77: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.

已经消失了,但是我仍然无法在make all上进行编译:

$ make all
(cd HTKTools && make all) \
  || case "" in *k*) fail=yes;; *) exit 1;; esac;
make[1]: Entering directory '/home/zeesy/htk-3.4.1/HTKTools'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/zeesy/htk-3.4.1/HTKTools'
(cd HLMTools && make all) \
  || case "" in *k*) fail=yes;; *) exit 1;; esac;
make[1]: Entering directory '/home/zeesy/htk-3.4.1/HLMTools'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/zeesy/htk-3.4.1/HLMTools'

make all之前运行./configure --prefix=/tmp会导致错误:

config.status: WARNING:  HLMTools/Makefile.in seems to ignore the --datarootdir setting

HTKLibHLMLibHTKToolsHLMTools。还将Makefile的第77行重置为四个缩进的制表符。

我已安装gcc-multilib。基于this post,我安装了libc6:i386 zlib1g:i386 lib32ncurses5lib32z1以便在64位计算机上运行此32位程序。

有人遇到这个问题吗? VoxForge HTK install guide的第4步建议需要gcc 3.4编译器兼容性模块。

1 个答案:

答案 0 :(得分:0)

正如MadScientist所建议的那样,我起初只是看错了Makefile。我一直在查看/htk-3.1.4/Makefile,当时需要编辑的文件是/htk-3.1.4/HLMTools/Makefile。如果没有彻底阅读错误消息。

在获得与第77行相同的错误消息之后

missing separator (did you mean TAB instead of 8 spaces?).

我在Atom中运行了“空格到制表符”,并更正了默认Makefile中的四重制表符。

make all命令最初运行成功,但是由于我无法访问ls /tmp/bin.linux,因此我再次尝试make all并收到了第二条错误消息

make[1]: Nothing to be done for 'all'

此问题的解决方法是运行make clean(请参阅this post)。但是,尼古拉·希米列夫(Nikolay Shmyrev)指出,此错误表示所有内容都已编译,因此“无能为力”。

我现在在访问/tmp/bin.linux时遇到问题,但是将在其他地方处理。

摘要:make[1]: Nothing to be done for 'all'错误表示所有内容都已编译。