Gettig make *** [World] Error 2 when installing SRILM on Ubuntu 18.04 Virtual Box, pthread warning

447 views Asked by At

I need to use SRILM to merge to language Models for Pocketsphinx. When trying to install SRILM on an Ubuntu 18.04 Virtual Box (x86-64) I always get Error 2 during make.

I've alreade removed several problems with the linker and other errors which I could read from the log, but now I don't even understand the error message, as it apparently doesn't give me a clue as to what went wrong. I've already searched google and stack overflow for help but couldn't find none.

I've started make with the command:

sudo make NO_TCL=1 MACHINE_TYPE=i686-ubuntu World

this is the part of the resulting log with the things not running smoothly:

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« 

then there are severeal of theses warnings refering to "pthread"

and finally the make ends with:

/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 

What else could I try ?

1

There are 1 answers

0
scumpidou On

I've found a way to make it work: I've reinstalled all dependencies and contrary to what was suggested in their respective build-instructions left all install directories on default (ran "./configure" without any options, but ran into the old libinconv-problem. Could work around it by issuing the folowing command:

make NO_LIBV=1 MACHINE_TYPE=i686-ubuntu

and ommiting the

World

in the make-command. This way all commands get installed to the SRILM/bin/i686-ubuntu - Directory. I then added the commands to the system-path and now it works. Would be interested in how to run it with libiconv and World, though.