Missing fstcompile with Pocketsphinx

I am playing with ASR Pocketsphinx with IT language: just trying some file edit (base_language_model.txt and base_dictionary.txt) and reading logs.
My idea is to use a very small dictionary in order to have more probability to get the right words.

Anyway, when I try to “Train” I get:

[INFO:2020-05-08 12:39:20,136] rhasspyserver_hermes: Starting training
[DEBUG:2020-05-08 12:39:20,138] rhasspyserver_hermes: Loading sentences from [PosixPath('/home/pi/.config/rhasspy/profiles/it/sentences.ini')]
[DEBUG:2020-05-08 12:39:20,140] rhasspyserver_hermes: Generating intent graph
[DEBUG:2020-05-08 12:39:20,143] rhasspynlu.ini_jsgf: Loaded ini file
[DEBUG:2020-05-08 12:39:20,152] rhasspyserver_hermes: Writing /home/pi/.config/rhasspy/profiles/it/intent_graph.pickle.gz
[DEBUG:2020-05-08 12:39:20,155] rhasspyserver_hermes: Finished writing /home/pi/.config/rhasspy/profiles/it/intent_graph.pickle.gz
[DEBUG:2020-05-08 12:39:20,158] rhasspyserver_hermes: -> AsrTrain
[DEBUG:2020-05-08 12:39:20,158] rhasspyserver_hermes: Publishing 642 bytes(s) to rhasspy/asr/default/train
[DEBUG:2020-05-08 12:39:20,202] rhasspyasr_pocketsphinx_hermes: <- AsrTrain
[DEBUG:2020-05-08 12:39:20,339] rhasspyserver_hermes: Handling AsrTrainSuccess (topic=rhasspy/asr/default/trainSuccess, id=9c5544b4-66e5-425f-bddf-0b8670661623)
[DEBUG:2020-05-08 12:39:20,344] rhasspyserver_hermes: [AsrTrainSuccess(id='7d865261-2c01-4e73-9808-62b4aa7d550f'), True]
[DEBUG:2020-05-08 12:39:20,400] rhasspyasr_pocketsphinx_hermes: Loading /home/pi/.config/rhasspy/profiles/it/intent_graph.pickle.gz
[DEBUG:2020-05-08 12:39:20,409] rhasspyasr_pocketsphinx_hermes: Starting training
[DEBUG:2020-05-08 12:39:20,423] rhasspyasr_pocketsphinx.train: Converting to ARPA language model
[DEBUG:2020-05-08 12:39:20,460] rhasspynlu.arpa_lm: Wrote vocabulary to /tmp/tmp0ztj428t
[DEBUG:2020-05-08 12:39:20,468] rhasspynlu.arpa_lm: compile_fst: fstcompile --keep_isymbols --keep_osymbols --isymbols=/tmp/tmp8v55d9_i/isymbols.txt --osymbols=/tmp/tmp8v55d9_i/osymbols.txt /tmp/tmp8v55d9_i/graph.fst.txt "/tmp/tmp8v55d9_i/graph.fst.fst"

/bin/sh: 1: fstcompile: not found

[ERROR:2020-05-08 12:39:20,539] rhasspyasr_pocketsphinx_hermes: handle_train
Traceback (most recent call last):
  File "/home/pi/rhasspy-voltron/rhasspy-asr-pocketsphinx-hermes/rhasspyasr_pocketsphinx_hermes/__init__.py", line 466, in handle_train
    missing_words_path=self.unknown_words,
  File "/home/pi/rhasspy-voltron/rhasspy-asr-pocketsphinx/rhasspyasr_pocketsphinx/train.py", line 36, in train
    rhasspynlu.arpa_lm.graph_to_arpa(graph, lm_file.name, vocab_file.name)
  File "/home/pi/rhasspy-voltron/rhasspy-nlu/rhasspynlu/arpa_lm.py", line 52, in graph_to_arpa
    fst_to_arpa(fst_text_path, isymbols_path, osymbols_path, arpa_path)
  File "/home/pi/rhasspy-voltron/rhasspy-nlu/rhasspynlu/arpa_lm.py", line 66, in fst_to_arpa
    run_task(task)
  File "/home/pi/rhasspy-voltron/rhasspy-nlu/rhasspynlu/arpa_lm.py", line 235, in run_task
    subprocess.check_call(command, shell=True)
  File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'fstcompile --keep_isymbols --keep_osymbols --isymbols=/tmp/tmp8v55d9_i/isymbols.txt --osymbols=/tmp/tmp8v55d9_i/osymbols.txt /tmp/tmp8v55d9_i/graph.fst.txt "/tmp/tmp8v55d9_i/graph.fst.fst"' returned non-zero exit status 127.
[DEBUG:2020-05-08 12:39:20,545] rhasspyasr_pocketsphinx_hermes: -> AsrError(error='Command \'fstcompile --keep_isymbols --keep_osymbols --isymbols=/tmp/tmp8v55d9_i/isymbols.txt --osymbols=/tmp/tmp8v55d9_i/osymbols.txt /tmp/tmp8v55d9_i/graph.fst.txt "/tmp/tmp8v55d9_i/graph.fst.fst"\' returned non-zero exit status 127.', site_id='default', context='PocketsphinxTranscriber(acoustic_model=/home/pi/.config/rhasspy/profiles/it/acoustic_model), dictionary=/home/pi/.config/rhasspy/profiles/it/dictionary.txt, language_model=/home/pi/.config/rhasspy/profiles/it/language_model.txt, mllr_matrix=None)', session_id='7d865261-2c01-4e73-9808-62b4aa7d550f')
[DEBUG:2020-05-08 12:39:20,548] rhasspyasr_pocketsphinx_hermes: Publishing 583 bytes(s) to hermes/error/asr
[DEBUG:2020-05-08 12:39:20,579] rhasspyprofile.download: speech_to_text.system pocketsphinx pocketsphinx = True
[DEBUG:2020-05-08 12:39:20,580] rhasspyprofile.download: Skipping g2p.fst (/home/pi/.config/rhasspy/profiles/it/g2p.fst)
[DEBUG:2020-05-08 12:39:20,581] rhasspyprofile.download: Skipping acoustic_model/feat.params (/home/pi/.config/rhasspy/profiles/it/acoustic_model/feat.params)
[DEBUG:2020-05-08 12:39:20,582] rhasspyprofile.download: Skipping acoustic_model/feature_transform (/home/pi/.config/rhasspy/profiles/it/acoustic_model/feature_transform)
[DEBUG:2020-05-08 12:39:20,583] rhasspyprofile.download: Skipping acoustic_model/mdef (/home/pi/.config/rhasspy/profiles/it/acoustic_model/mdef)
[DEBUG:2020-05-08 12:39:20,584] rhasspyprofile.download: Skipping acoustic_model/means (/home/pi/.config/rhasspy/profiles/it/acoustic_model/means)
[DEBUG:2020-05-08 12:39:20,585] rhasspyprofile.download: Skipping acoustic_model/mixture_weights (/home/pi/.config/rhasspy/profiles/it/acoustic_model/mixture_weights)
[DEBUG:2020-05-08 12:39:20,587] rhasspyprofile.download: Skipping acoustic_model/noisedict (/home/pi/.config/rhasspy/profiles/it/acoustic_model/noisedict)
[DEBUG:2020-05-08 12:39:20,588] rhasspyprofile.download: Skipping acoustic_model/transition_matrices (/home/pi/.config/rhasspy/profiles/it/acoustic_model/transition_matrices)
[DEBUG:2020-05-08 12:39:20,590] rhasspyprofile.download: Skipping acoustic_model/variances (/home/pi/.config/rhasspy/profiles/it/acoustic_model/variances)
[DEBUG:2020-05-08 12:39:20,597] rhasspyprofile.download: speech_to_text.pocketsphinx.open_transcription True False = False
[DEBUG:2020-05-08 12:39:20,607] rhasspyprofile.download: speech_to_text.pocketsphinx.mix_weight >0 0 = False

I see that i have:

~/rhasspy-voltron/.venv/tools/kaldi/fstcompile

but copying it in

/home/pi/rhasspy-voltron/.venv/bin

gives me

fstcompile: error while loading shared libraries: libfstscript.so.13: cannot open shared object file: No such file or directory
   
 [ERROR:2020-05-08 12:49:14,315] rhasspyasr_pocketsphinx_hermes: handle_train
    Traceback (most recent call last):
      File "/home/pi/rhasspy-voltron/rhasspy-asr-pocketsphinx-hermes/rhasspyasr_pocketsphinx_hermes/__init__.py", line 466, in handle_train
        missing_words_path=self.unknown_words,
      File "/home/pi/rhasspy-voltron/rhasspy-asr-pocketsphinx/rhasspyasr_pocketsphinx/train.py", line 36, in train
        rhasspynlu.arpa_lm.graph_to_arpa(graph, lm_file.name, vocab_file.name)
      File "/home/pi/rhasspy-voltron/rhasspy-nlu/rhasspynlu/arpa_lm.py", line 52, in graph_to_arpa
        fst_to_arpa(fst_text_path, isymbols_path, osymbols_path, arpa_path)
      File "/home/pi/rhasspy-voltron/rhasspy-nlu/rhasspynlu/arpa_lm.py", line 66, in fst_to_arpa
        run_task(task)
      File "/home/pi/rhasspy-voltron/rhasspy-nlu/rhasspynlu/arpa_lm.py", line 235, in run_task
        subprocess.check_call(command, shell=True)
      File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command 'fstcompile --keep_isymbols --keep_osymbols --isymbols=/tmp/tmpg7fmf2he/isymbols.txt --osymbols=/tmp/tmpg7fmf2he/osymbols.txt /tmp/tmpg7fmf2he/graph.fst.txt "/tmp/tmpg7fmf2he/graph.fst.fst"' returned non-zero exit status 127.
    [DEBUG:2020-05-08 12:49:14,324] rhasspyasr_pocketsphinx_hermes: -> AsrError(error='Command \'fstcompile --keep_isymbols --keep_osymbols --isymbols=/tmp/tmpg7fmf2he/isymbols.txt --osymbols=/tmp/tmpg7fmf2he/osymbols.txt /tmp/tmpg7fmf2he/graph.fst.txt "/tmp/tmpg7fmf2he/graph.fst.fst"\' returned non-zero exit status 127.', site_id='default', context='PocketsphinxTranscriber(acoustic_model=/home/pi/.config/rhasspy/profiles/it/acoustic_model), dictionary=/home/pi/.config/rhasspy/profiles/it/dictionary.txt, language_model=/home/pi/.config/rhasspy/profiles/it/language_model.txt, mllr_matrix=None)', session_id='97bfaeec-a6b7-48bc-8a21-8eda41005ea3')

Seems that something is messed up in my virtual environment (I didn’t use docker)
Thanks

fstcompile also needs some shared libraries (libfst*.so) in LD_LIBRARY_PATH in order to work.