Gettig make *** [World] Ошибка 2 при установке SRILM в Ubuntu 18.04 Virtual Box, предупреждение pthread - PullRequest
1 голос
/ 30 апреля 2019

Мне нужно использовать SRILM для слияния с языком Models for Pocketsphinx.При попытке установить SRILM на виртуальную коробку Ubuntu 18.04 (x86-64) я всегда получаю ошибку 2. Во время make.

Я уже удалил несколько проблем с компоновщиком и другие ошибки, которые я мог прочитать из журнала, но теперь я даже не понимаю сообщение об ошибке, так как оно, очевидно, не дает мне понять, что пошло не так.Я уже искал Google и переполнение стека за помощью, но не смог найти ни одного.

Я начал make с командой:

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"

, и, наконец, сборка заканчивается:

/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 

Что еще я мог попробовать?

1 Ответ

0 голосов
/ 02 мая 2019

Я нашел способ заставить его работать: я переустановил все зависимости и вопреки тому, что было предложено в их соответствующих инструкциях по сборке, оставил все каталоги установки по умолчанию (запустил «./configure» без каких-либо параметров, но натолкнулся на старую проблему libinconv. Может обойти ее, введя следующую команду:

make NO_LIBV=1 MACHINE_TYPE=i686-ubuntu

и пропуская

World

в команде make. Таким образом, все команды устанавливаются в каталог SRILM / bin / i686-ubuntu. Затем я добавил команды в системный путь, и теперь он работает. Было бы интересно узнать, как запустить его с помощью libiconv и World.

...