我需要使用SRILM合并到Pocketsphinx的语言模型。尝试在Ubuntu 18.04 Virtual Box(x86-64)上安装SRILM时,在制作过程中总是出现错误2。
我已经消除了一些链接器问题以及其他我可以从日志中读取的错误,但是现在我什至不理解错误消息,因为它显然无法为我提供线索错误。我已经搜索过Google并在堆栈溢出时寻求帮助,但是找不到。
我已经开始使用以下命令进行制作:
sudo make NO_TCL=1 MACHINE_TYPE=i686-ubuntu World
这是结果日志的一部分,其中事情运行不顺利:
make[2]: Verzeichnis „/home/christian/Schreibtisch/SPHINX/Sprachmodelle/SRILM/ModelMIxSRILM/srilm-1.7.2/lm/src“ wird betreten
/usr/bin/g++ -march=athlon64 -m64 -Wall -Wno-unused-variable -Wno-uninitialized -DINSTANTIATE_TEMPLATES -D_FILE_OFFSET_BITS=64 -I. -I../../include -u matherr -L../../lib/i686-ubuntu -g -O3 -o ../bin/i686-ubuntu/ngram ../obj/i686-ubuntu/ngram.o ../obj/i686-ubuntu/liboolm.a ../../lib/i686-ubuntu/libflm.a ../../lib/i686-ubuntu/libdstruct.a ../../lib/i686-ubuntu/libmisc.a ../../lib/i686-ubuntu/libz.a -lm -L/usr/local/lib -liconv 2>&1 | c++filt
../obj/i686-ubuntu/liboolm.a(Vocab.o): In Funktion »Vocab::compare(unsigned int const*, unsigned int const*)«:
/home/christian/Schreibtisch/SPHINX/Sprachmodelle/SRILM/ModelMIxSRILM/srilm-1.7.2/lm/src/../../include/TLSWrapper.h:61: Warnung: undefinierter Verweis auf »pthread_getspecific«
然后有一些严重的警告语指“ pthread”
最后是make结尾:
/home/christian/Schreibtisch/SPHINX/Sprachmodelle/SRILM/ModelMIxSRILM/srilm-1.7.2/misc/src/tls.cc:15: Warnung: undefinierter Verweis auf »pthread_key_create«
collect2: error: ld returned 1 exit status
test -f ../bin/i686-ubuntu/ngram
/home/christian/Schreibtisch/SPHINX/Sprachmodelle/SRILM/ModelMIxSRILM/srilm-1.7.2/common/Makefile.common.targets:117: recipe for target '../bin/i686-ubuntu/ngram' failed
make[2]: *** [../bin/i686-ubuntu/ngram] Error 1
make[2]: Verzeichnis „/home/christian/Schreibtisch/SPHINX/Sprachmodelle/SRILM/ModelMIxSRILM/srilm-1.7.2/lm/src“ wird verlassen
Makefile:109: recipe for target 'release-programs' failed
make[1]: *** [release-programs] Error 1
make[1]: Verzeichnis „/home/christian/Schreibtisch/SPHINX/Sprachmodelle/SRILM/ModelMIxSRILM/srilm-1.7.2“ wird verlassen
Makefile:57: recipe for target 'World' failed
make: *** [World] Error 2
我还能尝试什么?
答案 0 :(得分:0)
我找到了一种使其工作的方法:我重新安装了所有依赖项,并且与它们各自的构建说明中所建议的相反,所有安装目录均保留为默认(运行“ ./configure”,没有任何选项,但是遇到了旧的libinconv问题。可以通过以下命令解决该问题:
make NO_LIBV=1 MACHINE_TYPE=i686-ubuntu
并省略
World
make命令中的。这样,所有命令都将安装到SRILM / bin / i686-ubuntu-目录中。然后,我将命令添加到系统路径,现在可以正常工作了。不过,将对如何与libiconv和World一起运行感兴趣。