在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
HTKLib
,HLMLib
,HTKTools
和HLMTools
。还将Makefile的第77行重置为四个缩进的制表符。
我已安装gcc-multilib
。基于this post,我安装了libc6:i386
zlib1g:i386
lib32ncurses5
和lib32z1
以便在64位计算机上运行此32位程序。
有人遇到这个问题吗? VoxForge HTK install guide的第4步建议需要gcc 3.4编译器兼容性模块。
答案 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'
错误表示所有内容都已编译。