今天在安装Sphere v2.7 的时候,提示错误:
/home/lgj/nist/lib/libsphereCombinedLibs.a(shorten.o): In function `shorten‘:
/home/lgj/Documents/Speech/nist/src/lib/sp/shorten.c:499: undefined reference to `log‘
/home/lgj/Documents/Speech/nist/src/lib/sp/shorten.c:554: undefined reference to `floor‘
/home/lgj/Documents/Speech/nist/src/lib/sp/shorten.c:558: undefined reference to `floor‘
/home/lgj/Documents/Speech/nist/src/lib/sp/shorten.c:559: undefined reference to `exp‘
/home/lgj/Documents/Speech/nist/src/lib/sp/shorten.c:560: undefined reference to `pow‘
/home/lgj/Documents/Speech/nist/src/lib/sp/shorten.c:561: undefined reference to `log‘
/home/lgj/Documents/Speech/nist/src/lib/sp/shorten.c:561: undefined reference to `floor‘
/home/lgj/Documents/Speech/nist/src/lib/sp/shorten.c:876: undefined reference to `log‘
/home/lgj/Documents/Speech/nist/lib/libsphereCombinedLibs.a(lpc.o): In function `wav2lpc‘:
/home/lgj/Documents/Speech/nist/src/lib/sp/lpc.c:59: undefined reference to `log‘
/home/lgj/Documents/Speech/nist/src/lib/sp/lpc.c:93: undefined reference to `log‘
/home/lgj/Documents/Speech/nist/lib/libsphereCombinedLibs.a(poly.o): In function `wav2poly‘:
/home/lgj/Documents/Speech/nist/src/lib/sp/poly.c:59: undefined reference to `log‘
/home/lgj/Documents/Speech/nist/src/lib/sp/poly.c:62: undefined reference to `log‘
网上搜索了一下,发现是gcc编译的时候少了-lm 的原因。在stackoverflow上找到了解决方法。
解决方法:
1. 打开 /nist/lib/makes/make_spg.txt 文件
2. 修改 LLIBS = -l$(COMBINEDLIB) -lm