Can't seem to get anything TTS or ASR related working on Orin Nano

I just got a Jetson Orin Nano 8Gb and I’m super frustrated with the Jetpack & NVIDIA ecosystem. I feel like nothing works at all and I wasted $500.

I used the following command to flash the NVME drive:

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \
  -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" \
  --showlogs --network usb0 jetson-orin-nano-devkit internal

I used these files to flash from:

  • Jetson_Linux_R35.3.1_aarch64.tbz2
  • Tegra_Linux_Sample-Root-Filesystem_R35.3.1_aarch64.tbz2

GitHub - dusty-nv/jetson-voice: ASR/NLP/TTS deep learning inference library for NVIDIA Jetson using PyTorch and TensorRT doesn’t work at all.
I followed the issues on that repo and tried to use Riva, which is also broken. I get the following when trying to follow Text-to-Speech Documentation (after configuring ngc and making sure I was authenticated) :

$ ngc registry resource download-version nvidia/riva/riva_quickstart_arm64:2.11.0

Getting files to download...
⠸ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • 0.0/139.0 KiB • Remaining: -:--:-- • ? • Elapsed: 0:00:01 • Total: 25 - Completed: 0 - Failed: 0
Error getting pagination for file download:'{"timestamp":1686766436655,"status":404,"error":"Not Found","path":"/v1/org/nvidia/team/riva/resources/riva_quickstart_arm64/2.11.0/files"}'
⠸ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • 0.0/139.0 KiB • Remaining: -:--:-- • ? • Elapsed: 0:00:01 • Total: 25 - Completed: 0 - Failed: 0

--------------------------------------------------------------------------------------------
   Download status: FAILED
   Downloaded local path resource: /home/matt/src/jetson-voice/riva_quickstart_arm64_v2.11.0
   Total files downloaded: 0
   Total transferred: 0 B
   Started at: 2023-06-14 14:13:55
   Completed at: 2023-06-14 14:13:56
   Duration taken: 1s
--------------------------------------------------------------------------------------------

So I figured I would try some NEMO examples from NeMo/tutorials/00_NeMo_Primer.ipynb at main · NVIDIA/NeMo · GitHub
I tried installing nemo_toolkit both with and without anaconda and sudo:

$ pip install nemo_toolkit['all']

I get this very big error:

    Running setup.py install for pynini ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-w5bt48up/pynini/setup.py'"'"'; __file__='"'"'/tmp/pip-install-w5bt48up/pynini/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-uek_nvvo/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/pynini
         cwd: /tmp/pip-install-w5bt48up/pynini/
    Complete output (679 lines):
    running install
    /usr/local/lib/python3.8/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
      warnings.warn(
    running build
    running build_py
    creating build
    creating build/lib.linux-aarch64-cpython-38
    creating build/lib.linux-aarch64-cpython-38/pynini
    copying pynini/__init__.py -> build/lib.linux-aarch64-cpython-38/pynini
    creating build/lib.linux-aarch64-cpython-38/pywrapfst
    copying pywrapfst/__init__.py -> build/lib.linux-aarch64-cpython-38/pywrapfst
    creating build/lib.linux-aarch64-cpython-38/pynini/lib
    copying pynini/lib/utf8.py -> build/lib.linux-aarch64-cpython-38/pynini/lib
    copying pynini/lib/tagger.py -> build/lib.linux-aarch64-cpython-38/pynini/lib
    copying pynini/lib/edit_transducer.py -> build/lib.linux-aarch64-cpython-38/pynini/lib
    copying pynini/lib/__init__.py -> build/lib.linux-aarch64-cpython-38/pynini/lib
    copying pynini/lib/paradigms.py -> build/lib.linux-aarch64-cpython-38/pynini/lib
    copying pynini/lib/features.py -> build/lib.linux-aarch64-cpython-38/pynini/lib
    copying pynini/lib/pynutil.py -> build/lib.linux-aarch64-cpython-38/pynini/lib
    copying pynini/lib/byte.py -> build/lib.linux-aarch64-cpython-38/pynini/lib
    copying pynini/lib/rewrite.py -> build/lib.linux-aarch64-cpython-38/pynini/lib
    copying pynini/lib/rule_cascade.py -> build/lib.linux-aarch64-cpython-38/pynini/lib
    creating build/lib.linux-aarch64-cpython-38/pynini/examples
    copying pynini/examples/weather.py -> build/lib.linux-aarch64-cpython-38/pynini/examples
    copying pynini/examples/chatspeak.py -> build/lib.linux-aarch64-cpython-38/pynini/examples
    copying pynini/examples/plurals.py -> build/lib.linux-aarch64-cpython-38/pynini/examples
    copying pynini/examples/__init__.py -> build/lib.linux-aarch64-cpython-38/pynini/examples
    copying pynini/examples/numbers.py -> build/lib.linux-aarch64-cpython-38/pynini/examples
    copying pynini/examples/case.py -> build/lib.linux-aarch64-cpython-38/pynini/examples
    copying pynini/examples/g2p.py -> build/lib.linux-aarch64-cpython-38/pynini/examples
    copying pynini/examples/chatspeak_model.py -> build/lib.linux-aarch64-cpython-38/pynini/examples
    copying pynini/examples/t9.py -> build/lib.linux-aarch64-cpython-38/pynini/examples
    copying pynini/examples/dates.py -> build/lib.linux-aarch64-cpython-38/pynini/examples
    creating build/lib.linux-aarch64-cpython-38/pynini/export
    copying pynini/export/export.py -> build/lib.linux-aarch64-cpython-38/pynini/export
    copying pynini/export/__init__.py -> build/lib.linux-aarch64-cpython-38/pynini/export
    copying pynini/export/multi_grm.py -> build/lib.linux-aarch64-cpython-38/pynini/export
    copying pynini/export/grm_example.py -> build/lib.linux-aarch64-cpython-38/pynini/export
    copying pynini/export/grm.py -> build/lib.linux-aarch64-cpython-38/pynini/export
    copying pynini/export/multi_grm_example.py -> build/lib.linux-aarch64-cpython-38/pynini/export
    copying pynini/__init__.pyi -> build/lib.linux-aarch64-cpython-38/pynini
    copying pynini/py.typed -> build/lib.linux-aarch64-cpython-38/pynini
    copying pywrapfst/__init__.pyi -> build/lib.linux-aarch64-cpython-38/pywrapfst
    copying pywrapfst/py.typed -> build/lib.linux-aarch64-cpython-38/pywrapfst
    copying pynini/lib/py.typed -> build/lib.linux-aarch64-cpython-38/pynini/lib
    copying pynini/examples/py.typed -> build/lib.linux-aarch64-cpython-38/pynini/examples
    copying pynini/export/py.typed -> build/lib.linux-aarch64-cpython-38/pynini/export
    running build_ext
    building '_pywrapfst' extension
    creating build/temp.linux-aarch64-cpython-38
    creating build/temp.linux-aarch64-cpython-38/extensions
    aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/python3.8 -c extensions/_pywrapfst.cpp -o build/temp.linux-aarch64-cpython-38/extensions/_pywrapfst.o -std=c++17 -Wno-register -Wno-deprecated-declarations -Wno-unused-function -Wno-unused-local-typedefs -funsigned-char
    extensions/_pywrapfst.cpp:1783:37: error: ‘iterator’ is not a member of ‘fst::SymbolTable’
     1783 |   std::unique_ptr<fst::SymbolTable::iterator>  _siter;
          |                                     ^~~~~~~~
    extensions/_pywrapfst.cpp:1783:45: error: template argument 1 is invalid
     1783 |   std::unique_ptr<fst::SymbolTable::iterator>  _siter;
          |                                             ^
    extensions/_pywrapfst.cpp:1783:45: error: template argument 2 is invalid
    extensions/_pywrapfst.cpp: In function ‘fst::FarType __pyx_f_10_pywrapfst__get_far_type(const string&)’:
    extensions/_pywrapfst.cpp:4882:81: error: too many arguments to function ‘fst::FarType fst::script::GetFarType(const string&)’
     4882 |   __pyx_t_1 = ((!(fst::script::GetFarType(__pyx_v_far_type, (&__pyx_v__far_type)) != 0)) != 0);
          |                                                                                 ^
    In file included from extensions/_pywrapfst.cpp:822:
    /usr/include/fst/extensions/far/getters.h:15:9: note: declared here
       15 | FarType GetFarType(const string &str);
          |         ^~~~~~~~~~
    extensions/_pywrapfst.cpp: In function ‘fst::ClosureType __pyx_f_10_pywrapfst__get_closure_type(const string&)’:
    extensions/_pywrapfst.cpp:4991:47: error: cannot convert ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} to ‘bool’
     4991 |   __pyx_t_1 = ((!(fst::script::GetClosureType(__pyx_v_closure_type, (&__pyx_v__closure_type)) != 0)) != 0);
          |                                               ^~~~~~~~~~~~~~~~~~~~
          |                                               |
          |                                               const string {aka const std::__cxx11::basic_string<char>}
    In file included from /usr/include/fst/script/fstscript.h:29,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/getters.h:32:40: note:   initializing argument 1 of ‘fst::ClosureType fst::script::GetClosureType(bool)’
       32 | inline ClosureType GetClosureType(bool closure_plus) {
          |                                   ~~~~~^~~~~~~~~~~~
    extensions/_pywrapfst.cpp: In function ‘fst::EpsNormalizeType __pyx_f_10_pywrapfst__get_eps_norm_type(const string&)’:
    extensions/_pywrapfst.cpp:5318:52: error: cannot convert ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} to ‘bool’
     5318 |   __pyx_t_1 = ((!(fst::script::GetEpsNormalizeType(__pyx_v_eps_norm_type, (&__pyx_v__eps_norm_type)) != 0)) != 0);
          |                                                    ^~~~~~~~~~~~~~~~~~~~~
          |                                                    |
          |                                                    const string {aka const std::__cxx11::basic_string<char>}
    In file included from /usr/include/fst/script/fstscript.h:29,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/getters.h:45:50: note:   initializing argument 1 of ‘fst::EpsNormalizeType fst::script::GetEpsNormalizeType(bool)’
       45 | inline EpsNormalizeType GetEpsNormalizeType(bool eps_norm_output) {
          |                                             ~~~~~^~~~~~~~~~~~~~~
    extensions/_pywrapfst.cpp: In function ‘fst::ProjectType __pyx_f_10_pywrapfst__get_project_type(const string&)’:
    extensions/_pywrapfst.cpp:5427:47: error: cannot convert ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} to ‘bool’
     5427 |   __pyx_t_1 = ((!(fst::script::GetProjectType(__pyx_v_project_type, (&__pyx_v__project_type)) != 0)) != 0);
          |                                               ^~~~~~~~~~~~~~~~~~~~
          |                                               |
          |                                               const string {aka const std::__cxx11::basic_string<char>}
    In file included from /usr/include/fst/script/fstscript.h:29,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/getters.h:51:40: note:   initializing argument 1 of ‘fst::ProjectType fst::script::GetProjectType(bool)’
       51 | inline ProjectType GetProjectType(bool project_output) {
          |                                   ~~~~~^~~~~~~~~~~~~~
    extensions/_pywrapfst.cpp: In function ‘fst::ReweightType __pyx_f_10_pywrapfst__get_reweight_type(const string&)’:
    extensions/_pywrapfst.cpp:5863:48: error: cannot convert ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} to ‘bool’
     5863 |   __pyx_t_1 = ((!(fst::script::GetReweightType(__pyx_v_reweight_type, (&__pyx_v__reweight_type)) != 0)) != 0);
          |                                                ^~~~~~~~~~~~~~~~~~~~~
          |                                                |
          |                                                const string {aka const std::__cxx11::basic_string<char>}
    In file included from /usr/include/fst/script/fstscript.h:29,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/getters.h:70:42: note:   initializing argument 1 of ‘fst::ReweightType fst::script::GetReweightType(bool)’
       70 | inline ReweightType GetReweightType(bool to_final) {
          |                                     ~~~~~^~~~~~~~
    extensions/_pywrapfst.cpp: In function ‘bool __pyx_f_10_pywrapfst_6Weight_member(__pyx_obj_10_pywrapfst_Weight*, int)’:
    extensions/_pywrapfst.cpp:7372:42: error: ‘class fst::script::WeightClass’ has no member named ‘Member’
     7372 |   __pyx_r = __pyx_v_self->_weight.get()->Member();
          |                                          ^~~~~~
    extensions/_pywrapfst.cpp: In function ‘fst::script::WeightClass __pyx_f_10_pywrapfst__get_WeightClass_or_zero(const string&, PyObject*)’:
    extensions/_pywrapfst.cpp:8617:37: error: ‘class fst::script::WeightClass’ has no member named ‘Member’
     8617 |     __pyx_t_1 = ((!(__pyx_v__weight.Member() != 0)) != 0);
          |                                     ^~~~~~
    extensions/_pywrapfst.cpp: In function ‘fst::script::WeightClass __pyx_f_10_pywrapfst__get_WeightClass_or_one(const string&, PyObject*)’:
    extensions/_pywrapfst.cpp:8800:37: error: ‘class fst::script::WeightClass’ has no member named ‘Member’
     8800 |     __pyx_t_1 = ((!(__pyx_v__weight.Member() != 0)) != 0);
          |                                     ^~~~~~
    extensions/_pywrapfst.cpp: In function ‘__pyx_obj_10_pywrapfst_SymbolTable* __pyx_f_10_pywrapfst_15SymbolTableView_copy(__pyx_obj_10_pywrapfst_SymbolTableView*, int)’:
    extensions/_pywrapfst.cpp:10063:72: error: ‘WrapUnique’ is not a member of ‘fst’
    10063 |   __pyx_t_1 = ((PyObject *)__pyx_f_10_pywrapfst__init_SymbolTable(fst::WrapUnique<fst::SymbolTable>(__pyx_t_5->Copy()))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 860, __pyx_L1_error)
          |                                                                        ^~~~~~~~~~
    extensions/_pywrapfst.cpp:10063:99: error: expected primary-expression before ‘>’ token
    10063 |   __pyx_t_1 = ((PyObject *)__pyx_f_10_pywrapfst__init_SymbolTable(fst::WrapUnique<fst::SymbolTable>(__pyx_t_5->Copy()))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 860, __pyx_L1_error)
          |                                                                                                   ^
    extensions/_pywrapfst.cpp: In function ‘int64_t __pyx_f_10_pywrapfst_19_MutableSymbolTable_add_symbol(__pyx_obj_10_pywrapfst__MutableSymbolTable*, PyObject*, int, __pyx_opt_args_10_pywrapfst_19_MutableSymbolTable_add_symbol*)’:
    extensions/_pywrapfst.cpp:12462:38: error: ‘kNoSymbol’ is not a member of ‘fst’
    12462 |   __pyx_t_11 = ((__pyx_v_key != fst::kNoSymbol) != 0);
          |                                      ^~~~~~~~~
    extensions/_pywrapfst.cpp: In function ‘__pyx_obj_10_pywrapfst_SymbolTable* __pyx_f_10_pywrapfst_compact_symbol_table(__pyx_obj_10_pywrapfst_SymbolTableView*, int)’:
    extensions/_pywrapfst.cpp:14479:72: error: ‘WrapUnique’ is not a member of ‘fst’
    14479 |   __pyx_t_2 = ((PyObject *)__pyx_f_10_pywrapfst__init_SymbolTable(fst::WrapUnique<fst::SymbolTable>(fst::CompactSymbolTable((*__pyx_t_1))))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1291, __pyx_L1_error)
          |                                                                        ^~~~~~~~~~
    extensions/_pywrapfst.cpp:14479:99: error: expected primary-expression before ‘>’ token
    14479 |   __pyx_t_2 = ((PyObject *)__pyx_f_10_pywrapfst__init_SymbolTable(fst::WrapUnique<fst::SymbolTable>(fst::CompactSymbolTable((*__pyx_t_1))))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1291, __pyx_L1_error)
          |                                                                                                   ^
    extensions/_pywrapfst.cpp: In function ‘__pyx_obj_10_pywrapfst_SymbolTable* __pyx_f_10_pywrapfst_merge_symbol_table(__pyx_obj_10_pywrapfst_SymbolTableView*, __pyx_obj_10_pywrapfst_SymbolTableView*, int)’:
    extensions/_pywrapfst.cpp:14614:72: error: ‘WrapUnique’ is not a member of ‘fst’
    14614 |   __pyx_t_3 = ((PyObject *)__pyx_f_10_pywrapfst__init_SymbolTable(fst::WrapUnique<fst::SymbolTable>(fst::MergeSymbolTable((*__pyx_t_1), (*__pyx_t_2), NULL)))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1318, __pyx_L1_error)
          |                                                                        ^~~~~~~~~~
    extensions/_pywrapfst.cpp:14614:99: error: expected primary-expression before ‘>’ token
    14614 |   __pyx_t_3 = ((PyObject *)__pyx_f_10_pywrapfst__init_SymbolTable(fst::WrapUnique<fst::SymbolTable>(fst::MergeSymbolTable((*__pyx_t_1), (*__pyx_t_2), NULL)))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1318, __pyx_L1_error)
          |                                                                                                   ^
    extensions/_pywrapfst.cpp: In function ‘int __pyx_pf_10_pywrapfst_20_SymbolTableIterator_2__init__(__pyx_obj_10_pywrapfst__SymbolTableIterator*, __pyx_obj_10_pywrapfst_SymbolTableView*)’:
    extensions/_pywrapfst.cpp:14956:24: error: request for member ‘reset’ in ‘__pyx_v_self->__pyx_obj_10_pywrapfst__SymbolTableIterator::_siter’, which is of non-class type ‘int’
    14956 |   __pyx_v_self->_siter.reset(new fst::SymbolTable::iterator(__pyx_t_1->begin()));
          |                        ^~~~~
    extensions/_pywrapfst.cpp:14956:34: error: expected type-specifier
    14956 |   __pyx_v_self->_siter.reset(new fst::SymbolTable::iterator(__pyx_t_1->begin()));
          |                                  ^~~
    extensions/_pywrapfst.cpp: In function ‘PyObject* __pyx_pf_10_pywrapfst_20_SymbolTableIterator_6__next__(__pyx_obj_10_pywrapfst__SymbolTableIterator*)’:
    extensions/_pywrapfst.cpp:15086:28: error: ‘const class fst::SymbolTable’ has no member named ‘end’
    15086 |   __pyx_t_2 = ((__pyx_t_1->end() == (*__pyx_v_self->_siter)) != 0);
          |                            ^~~
    extensions/_pywrapfst.cpp:15086:53: error: invalid type argument of unary ‘*’ (have ‘int’)
    15086 |   __pyx_t_2 = ((__pyx_t_1->end() == (*__pyx_v_self->_siter)) != 0);
          |                                                     ^~~~~~
    extensions/_pywrapfst.cpp:15119:41: error: request for member ‘get’ in ‘__pyx_v_self->__pyx_obj_10_pywrapfst__SymbolTableIterator::_siter’, which is of non-class type ‘int’
    15119 |   __pyx_v__label = __pyx_v_self->_siter.get()->operator*().Label();
          |                                         ^~~
    extensions/_pywrapfst.cpp:15132:42: error: request for member ‘get’ in ‘__pyx_v_self->__pyx_obj_10_pywrapfst__SymbolTableIterator::_siter’, which is of non-class type ‘int’
    15132 |   __pyx_v__symbol = __pyx_v_self->_siter.get()->operator*().Symbol();
          |                                          ^~~
    extensions/_pywrapfst.cpp:15145:29: error: invalid type argument of unary ‘*’ (have ‘int’)
    15145 |   (void)((++(*__pyx_v_self->_siter)));
          |                             ^~~~~~
    extensions/_pywrapfst.cpp: In function ‘PyObject* __pyx_pf_10_pywrapfst_12EncodeMapper_16read(PyTypeObject*, PyObject*)’:
    extensions/_pywrapfst.cpp:16439:53: error: ‘Read’ is not a member of ‘fst::script::EncodeMapperClass’
    16439 |   __pyx_v__mapper = fst::script::EncodeMapperClass::Read(__pyx_t_1);
          |                                                     ^~~~
    extensions/_pywrapfst.cpp: In function ‘void __pyx_f_10_pywrapfst_12EncodeMapper_write(__pyx_obj_10_pywrapfst_EncodeMapper*, PyObject*, int)’:
    extensions/_pywrapfst.cpp:16715:48: error: ‘using element_type = std::remove_extent<fst::script::EncodeMapperClass>::type’ {aka ‘class fst::script::EncodeMapperClass’} has no member named ‘Write’
    16715 |   __pyx_t_6 = ((!(__pyx_v_self->_mapper.get()->Write(__pyx_t_5) != 0)) != 0);
          |                                                ^~~~~
    extensions/_pywrapfst.cpp: In function ‘PyObject* __pyx_f_10_pywrapfst_12EncodeMapper_write_to_string(__pyx_obj_10_pywrapfst_EncodeMapper*, int)’:
    extensions/_pywrapfst.cpp:16903:48: error: ‘using element_type = std::remove_extent<fst::script::EncodeMapperClass>::type’ {aka ‘class fst::script::EncodeMapperClass’} has no member named ‘Write’
    16903 |   __pyx_t_5 = ((!(__pyx_v_self->_mapper.get()->Write(__pyx_v__sstrm, __pyx_k_pywrapfst) != 0)) != 0);
          |                                                ^~~~~
    extensions/_pywrapfst.cpp: In function ‘__pyx_obj_10_pywrapfst_EncodeMapper* __pyx_f_10_pywrapfst__read_EncodeMapper_from_string(std::string, int)’:
    extensions/_pywrapfst.cpp:17849:53: error: ‘Read’ is not a member of ‘fst::script::EncodeMapperClass’
    17849 |   __pyx_v__mapper = fst::script::EncodeMapperClass::Read(__pyx_v__sstrm, __pyx_k_pywrapfst);
          |                                                     ^~~~
    extensions/_pywrapfst.cpp: In function ‘PyObject* __pyx_pf_10_pywrapfst_3Fst__repr_svg_(__pyx_obj_10_pywrapfst_Fst*)’:
    extensions/_pywrapfst.cpp:18262:16: error: ‘Draw’ is not a member of ‘fst::script’; did you mean ‘DrawFst’?
    18262 |   fst::script::Draw((*__pyx_v_self->_fst), __pyx_v_self->_fst.get()->InputSymbols(), __pyx_v_self->_fst.get()->OutputSymbols(), NULL, __pyx_v_acceptor, __pyx_k__9, 8.5, 11.0, 1, 0, 0.4, 0.25, 14, 5, __pyx_k_g, 0, __pyx_v__sstrm, __pyx_k_pywrapfst);
          |                ^~~~
          |                DrawFst
    extensions/_pywrapfst.cpp: In function ‘void __pyx_f_10_pywrapfst_3Fst_draw(__pyx_obj_10_pywrapfst_Fst*, PyObject*, int, __pyx_opt_args_10_pywrapfst_3Fst_draw*)’:
    extensions/_pywrapfst.cpp:19815:16: error: ‘Draw’ is not a member of ‘fst::script’; did you mean ‘DrawFst’?
    19815 |   fst::script::Draw((*__pyx_v_self->_fst), __pyx_v__isymbols, __pyx_v__osymbols, __pyx_v__ssymbols, __pyx_v_acceptor, __pyx_t_17, __pyx_v_width, __pyx_v_height, __pyx_v_portrait, __pyx_v_vertical, __pyx_v_ranksep, __pyx_v_nodesep, __pyx_v_fontsize, __pyx_v_precision, __pyx_t_21, __pyx_v_show_weight_one, (*__pyx_v__fstrm), __pyx_v__source);
          |                ^~~~
          |                DrawFst
    extensions/_pywrapfst.cpp: In function ‘std::string __pyx_f_10_pywrapfst_3Fst_print(__pyx_obj_10_pywrapfst_Fst*, int, __pyx_opt_args_10_pywrapfst_3Fst_print*)’:
    extensions/_pywrapfst.cpp:22003:16: error: ‘Print’ is not a member of ‘fst::script’
    22003 |   fst::script::Print((*__pyx_v_self->_fst), __pyx_v__sstrm, __pyx_k_pywrapfst, __pyx_v__isymbols, __pyx_v__osymbols, __pyx_v__ssymbols, __pyx_v_acceptor, __pyx_v_show_weight_one, __pyx_t_9);
          |                ^~~~~
    extensions/_pywrapfst.cpp: In function ‘PyObject* __pyx_f_10_pywrapfst_3Fst_write_to_string(__pyx_obj_10_pywrapfst_Fst*, int)’:
    extensions/_pywrapfst.cpp:23354:84: error: no matching function for call to ‘fst::script::FstClass::Write(std::stringstream&, const char [12])’
    23354 |   __pyx_t_5 = ((!(__pyx_v_self->_fst.get()->Write(__pyx_v__sstrm, __pyx_k_pywrapfst) != 0)) != 0);
          |                                                                                    ^
    In file included from /usr/include/fst/script/arciterator-class.h:12,
                     from /usr/include/fst/script/fstscript.h:21,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/fst-class.h:334:8: note: candidate: ‘virtual bool fst::script::FstClass::Write(const string&) const’
      334 |   bool Write(const string &fname) const final { return impl_->Write(fname); }
          |        ^~~~~
    /usr/include/fst/script/fst-class.h:334:8: note:   candidate expects 1 argument, 2 provided
    /usr/include/fst/script/fst-class.h:336:8: note: candidate: ‘virtual bool fst::script::FstClass::Write(std::ostream&, const fst::FstWriteOptions&) const’
      336 |   bool Write(std::ostream &ostr, const FstWriteOptions &opts) const final {
          |        ^~~~~
    /usr/include/fst/script/fst-class.h:336:57: note:   no known conversion for argument 2 from ‘const char [12]’ to ‘const fst::FstWriteOptions&’
      336 |   bool Write(std::ostream &ostr, const FstWriteOptions &opts) const final {
          |                                  ~~~~~~~~~~~~~~~~~~~~~~~^~~~
    extensions/_pywrapfst.cpp: In function ‘void __pyx_f_10_pywrapfst_10MutableFst_add_states(__pyx_obj_10_pywrapfst_MutableFst*, size_t, int)’:
    extensions/_pywrapfst.cpp:24054:30: error: ‘using element_type = std::remove_extent<fst::script::MutableFstClass>::type’ {aka ‘class fst::script::MutableFstClass’} has no member named ‘AddStates’; did you mean ‘AddState’?
    24054 |   __pyx_v_self->_mfst.get()->AddStates(__pyx_v_n);
          |                              ^~~~~~~~~
          |                              AddState
    extensions/_pywrapfst.cpp: In function ‘void __pyx_f_10_pywrapfst_10MutableFst__rmepsilon(__pyx_obj_10_pywrapfst_MutableFst*, __pyx_opt_args_10_pywrapfst_10MutableFst__rmepsilon*)’:
    extensions/_pywrapfst.cpp:29191:131: error: no matching function for call to ‘fst::script::RmEpsilonOptions::RmEpsilonOptions(fst::QueueType&, bool&, fst::script::WeightClass&, int64_t&, float&)’
    29191 |   __pyx_v__opts.reset(new fst::script::RmEpsilonOptions(__pyx_t_3, __pyx_v_connect, __pyx_v__weight, __pyx_v_nstate, __pyx_v_delta));
          |                                                                                                                                   ^
    In file included from /usr/include/fst/script/fstscript.h:66,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/rmepsilon.h:24:3: note: candidate: ‘fst::script::RmEpsilonOptions::RmEpsilonOptions(fst::QueueType, float, bool, const fst::script::WeightClass&, int64)’
       24 |   RmEpsilonOptions(QueueType qt, float d, bool c, const WeightClass &w,
          |   ^~~~~~~~~~~~~~~~
    /usr/include/fst/script/rmepsilon.h:24:48: note:   no known conversion for argument 3 from ‘fst::script::WeightClass’ to ‘bool’
       24 |   RmEpsilonOptions(QueueType qt, float d, bool c, const WeightClass &w,
          |                                           ~~~~~^
    /usr/include/fst/script/rmepsilon.h:19:8: note: candidate: ‘constexpr fst::script::RmEpsilonOptions::RmEpsilonOptions(const fst::script::RmEpsilonOptions&)’
       19 | struct RmEpsilonOptions : public fst::script::ShortestDistanceOptions {
          |        ^~~~~~~~~~~~~~~~
    /usr/include/fst/script/rmepsilon.h:19:8: note:   candidate expects 1 argument, 5 provided
    /usr/include/fst/script/rmepsilon.h:19:8: note: candidate: ‘constexpr fst::script::RmEpsilonOptions::RmEpsilonOptions(fst::script::RmEpsilonOptions&&)’
    /usr/include/fst/script/rmepsilon.h:19:8: note:   candidate expects 1 argument, 5 provided
    extensions/_pywrapfst.cpp:29204:69: error: no matching function for call to ‘RmEpsilon(std::__shared_ptr<fst::script::MutableFstClass, __gnu_cxx::_S_atomic>::element_type*, fst::script::RmEpsilonOptions&)’
    29204 |   fst::script::RmEpsilon(__pyx_v_self->_mfst.get(), (*__pyx_v__opts));
          |                                                                     ^
    In file included from /usr/include/fst/script/fstscript.h:66,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/rmepsilon.h:99:6: note: candidate: ‘template<class Arc> void fst::script::RmEpsilon(fst::script::RmEpsilonArgs1*)’
       99 | void RmEpsilon(RmEpsilonArgs1 *args) {
          |      ^~~~~~~~~
    /usr/include/fst/script/rmepsilon.h:99:6: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:29204:69: note:   candidate expects 1 argument, 2 provided
    29204 |   fst::script::RmEpsilon(__pyx_v_self->_mfst.get(), (*__pyx_v__opts));
          |                                                                     ^
    In file included from /usr/include/fst/script/fstscript.h:66,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/rmepsilon.h:121:6: note: candidate: ‘template<class Arc> void fst::script::RmEpsilon(fst::script::RmEpsilonArgs2*)’
      121 | void RmEpsilon(RmEpsilonArgs2 *args) {
          |      ^~~~~~~~~
    /usr/include/fst/script/rmepsilon.h:121:6: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:29204:69: note:   candidate expects 1 argument, 2 provided
    29204 |   fst::script::RmEpsilon(__pyx_v_self->_mfst.get(), (*__pyx_v__opts));
          |                                                                     ^
    In file included from /usr/include/fst/script/fstscript.h:66,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/rmepsilon.h:133:6: note: candidate: ‘template<class Arc> void fst::script::RmEpsilon(fst::script::RmEpsilonArgs3*)’
      133 | void RmEpsilon(RmEpsilonArgs3 *args) {
          |      ^~~~~~~~~
    /usr/include/fst/script/rmepsilon.h:133:6: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:29204:69: note:   candidate expects 1 argument, 2 provided
    29204 |   fst::script::RmEpsilon(__pyx_v_self->_mfst.get(), (*__pyx_v__opts));
          |                                                                     ^
    In file included from /usr/include/fst/script/fstscript.h:66,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/rmepsilon.h:146:6: note: candidate: ‘void fst::script::RmEpsilon(const fst::script::FstClass&, fst::script::MutableFstClass*, bool, const fst::script::RmEpsilonOptions&)’
      146 | void RmEpsilon(const FstClass &ifst, MutableFstClass *ofst, bool reverse,
          |      ^~~~~~~~~
    /usr/include/fst/script/rmepsilon.h:146:6: note:   candidate expects 4 arguments, 2 provided
    /usr/include/fst/script/rmepsilon.h:150:6: note: candidate: ‘void fst::script::RmEpsilon(fst::script::MutableFstClass*, bool, const fst::script::WeightClass&, int64, float)’
      150 | void RmEpsilon(MutableFstClass *fst, bool connect,
          |      ^~~~~~~~~
    /usr/include/fst/script/rmepsilon.h:150:6: note:   candidate expects 5 arguments, 2 provided
    /usr/include/fst/script/rmepsilon.h:156:6: note: candidate: ‘void fst::script::RmEpsilon(fst::script::MutableFstClass*, bool, int64, float)’
      156 | void RmEpsilon(MutableFstClass *fst, bool connect,
          |      ^~~~~~~~~
    /usr/include/fst/script/rmepsilon.h:156:43: note:   no known conversion for argument 2 from ‘fst::script::RmEpsilonOptions’ to ‘bool’
      156 | void RmEpsilon(MutableFstClass *fst, bool connect,
          |                                      ~~~~~^~~~~~~
    /usr/include/fst/script/rmepsilon.h:161:6: note: candidate: ‘void fst::script::RmEpsilon(fst::script::MutableFstClass*, std::vector<fst::script::WeightClass>*, const fst::script::RmEpsilonOptions&)’
      161 | void RmEpsilon(MutableFstClass *fst, std::vector<WeightClass> *distance,
          |      ^~~~~~~~~
    /usr/include/fst/script/rmepsilon.h:161:6: note:   candidate expects 3 arguments, 2 provided
    extensions/_pywrapfst.cpp: In function ‘void __pyx_f_10_pywrapfst_10MutableFst__set_input_symbols(__pyx_obj_10_pywrapfst_MutableFst*, __pyx_obj_10_pywrapfst_SymbolTableView*)’:
    extensions/_pywrapfst.cpp:29836:46: error: invalid conversion from ‘const fst::SymbolTable*’ to ‘fst::SymbolTable*’ [-fpermissive]
    29836 |   __pyx_v_self->_mfst.get()->SetInputSymbols(__pyx_t_3);
          |                                              ^~~~~~~~~
          |                                              |
          |                                              const fst::SymbolTable*
    In file included from /usr/include/fst/script/arciterator-class.h:12,
                     from /usr/include/fst/script/fstscript.h:21,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/fst-class.h:442:37: note:   initializing argument 1 of ‘void fst::script::MutableFstClass::SetInputSymbols(fst::SymbolTable*)’
      442 |   void SetInputSymbols(SymbolTable *isyms) {
          |                        ~~~~~~~~~~~~~^~~~~
    extensions/_pywrapfst.cpp: In function ‘void __pyx_f_10_pywrapfst_10MutableFst__set_output_symbols(__pyx_obj_10_pywrapfst_MutableFst*, __pyx_obj_10_pywrapfst_SymbolTableView*)’:
    extensions/_pywrapfst.cpp:30011:47: error: invalid conversion from ‘const fst::SymbolTable*’ to ‘fst::SymbolTable*’ [-fpermissive]
    30011 |   __pyx_v_self->_mfst.get()->SetOutputSymbols(__pyx_t_3);
          |                                               ^~~~~~~~~
          |                                               |
          |                                               const fst::SymbolTable*
    In file included from /usr/include/fst/script/arciterator-class.h:12,
                     from /usr/include/fst/script/fstscript.h:21,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/fst-class.h:451:38: note:   initializing argument 1 of ‘void fst::script::MutableFstClass::SetOutputSymbols(fst::SymbolTable*)’
      451 |   void SetOutputSymbols(SymbolTable *osyms) {
          |                         ~~~~~~~~~~~~~^~~~~
    extensions/_pywrapfst.cpp: In function ‘PyObject* __pyx_pf_10_pywrapfst_10MutableFst_64union(__pyx_obj_10_pywrapfst_MutableFst*, PyObject*)’:
    extensions/_pywrapfst.cpp:30683:63: error: no matching function for call to ‘Union(std::__shared_ptr<fst::script::MutableFstClass, __gnu_cxx::_S_atomic>::element_type*, std::vector<const fst::script::FstClass*>&)’
    30683 |   fst::script::Union(__pyx_v_self->_mfst.get(), __pyx_v__fsts2);
          |                                                               ^
    In file included from /usr/include/fst/script/fstscript.h:71,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/union.h:17:6: note: candidate: ‘template<class Arc> void fst::script::Union(fst::script::UnionArgs*)’
       17 | void Union(UnionArgs *args) {
          |      ^~~~~
    /usr/include/fst/script/union.h:17:6: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:30683:63: note:   candidate expects 1 argument, 2 provided
    30683 |   fst::script::Union(__pyx_v_self->_mfst.get(), __pyx_v__fsts2);
          |                                                               ^
    In file included from /usr/include/fst/script/fstscript.h:71,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/union.h:23:6: note: candidate: ‘void fst::script::Union(fst::script::MutableFstClass*, const fst::script::FstClass&)’
       23 | void Union(MutableFstClass *fst1, const FstClass &fst2);
          |      ^~~~~
    /usr/include/fst/script/union.h:23:51: note:   no known conversion for argument 2 from ‘std::vector<const fst::script::FstClass*>’ to ‘const fst::script::FstClass&’
       23 | void Union(MutableFstClass *fst1, const FstClass &fst2);
          |                                   ~~~~~~~~~~~~~~~~^~~~
    extensions/_pywrapfst.cpp: In function ‘__pyx_obj_10_pywrapfst_Fst* __pyx_f_10_pywrapfst__read_Fst(PyObject*, int)’:
    extensions/_pywrapfst.cpp:31334:56: error: no match for ‘operator=’ (operand types are ‘std::unique_ptr<fst::script::FstClass>’ and ‘fst::script::FstClass*’)
    31334 |   __pyx_v__tfst = fst::script::FstClass::Read(__pyx_t_1);
          |                                                        ^
    In file included from /usr/include/c++/9/memory:80,
                     from extensions/_pywrapfst.cpp:797:
    /usr/include/c++/9/bits/unique_ptr.h:305:7: note: candidate: ‘std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Tp, _Dp>&&) [with _Tp = fst::script::FstClass; _Dp = std::default_delete<fst::script::FstClass>]’
      305 |       operator=(unique_ptr&& __u) noexcept
          |       ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:305:30: note:   no known conversion for argument 1 from ‘fst::script::FstClass*’ to ‘std::unique_ptr<fst::script::FstClass>&&’
      305 |       operator=(unique_ptr&& __u) noexcept
          |                 ~~~~~~~~~~~~~^~~
    /usr/include/c++/9/bits/unique_ptr.h:325:2: note: candidate: ‘template<class _Up, class _Ep> typename std::enable_if<std::__and_<std::__and_<std::is_convertible<typename std::unique_ptr<_Up, _Ep>::pointer, typename std::__uniq_ptr_impl<_Tp, _Dp>::pointer>, std::__not_<std::is_array<_Up> > >, std::is_assignable<_T2&, _U2&&> >::value, std::unique_ptr<_Tp, _Dp>&>::type std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Up = _Up; _Ep = _Ep; _Tp = fst::script::FstClass; _Dp = std::default_delete<fst::script::FstClass>]’
      325 |  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
          |  ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:325:2: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:31334:56: note:   mismatched types ‘std::unique_ptr<_Tp, _Dp>’ and ‘fst::script::FstClass*’
    31334 |   __pyx_v__tfst = fst::script::FstClass::Read(__pyx_t_1);
          |                                                        ^
    In file included from /usr/include/c++/9/memory:80,
                     from extensions/_pywrapfst.cpp:797:
    /usr/include/c++/9/bits/unique_ptr.h:334:7: note: candidate: ‘std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::nullptr_t) [with _Tp = fst::script::FstClass; _Dp = std::default_delete<fst::script::FstClass>; std::nullptr_t = std::nullptr_t]’
      334 |       operator=(nullptr_t) noexcept
          |       ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:334:17: note:   no known conversion for argument 1 from ‘fst::script::FstClass*’ to ‘std::nullptr_t’
      334 |       operator=(nullptr_t) noexcept
          |                 ^~~~~~~~~
    extensions/_pywrapfst.cpp: In function ‘__pyx_obj_10_pywrapfst_Fst* __pyx_f_10_pywrapfst__read_Fst_from_string(std::string, int)’:
    extensions/_pywrapfst.cpp:31503:80: error: no match for ‘operator=’ (operand types are ‘std::unique_ptr<fst::script::FstClass>’ and ‘fst::script::FstClass*’)
    31503 |   __pyx_v__tfst = fst::script::FstClass::Read(__pyx_v__sstrm, __pyx_k_pywrapfst);
          |                                                                                ^
    In file included from /usr/include/c++/9/memory:80,
                     from extensions/_pywrapfst.cpp:797:
    /usr/include/c++/9/bits/unique_ptr.h:305:7: note: candidate: ‘std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Tp, _Dp>&&) [with _Tp = fst::script::FstClass; _Dp = std::default_delete<fst::script::FstClass>]’
      305 |       operator=(unique_ptr&& __u) noexcept
          |       ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:305:30: note:   no known conversion for argument 1 from ‘fst::script::FstClass*’ to ‘std::unique_ptr<fst::script::FstClass>&&’
      305 |       operator=(unique_ptr&& __u) noexcept
          |                 ~~~~~~~~~~~~~^~~
    /usr/include/c++/9/bits/unique_ptr.h:325:2: note: candidate: ‘template<class _Up, class _Ep> typename std::enable_if<std::__and_<std::__and_<std::is_convertible<typename std::unique_ptr<_Up, _Ep>::pointer, typename std::__uniq_ptr_impl<_Tp, _Dp>::pointer>, std::__not_<std::is_array<_Up> > >, std::is_assignable<_T2&, _U2&&> >::value, std::unique_ptr<_Tp, _Dp>&>::type std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Up = _Up; _Ep = _Ep; _Tp = fst::script::FstClass; _Dp = std::default_delete<fst::script::FstClass>]’
      325 |  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
          |  ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:325:2: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:31503:80: note:   mismatched types ‘std::unique_ptr<_Tp, _Dp>’ and ‘fst::script::FstClass*’
    31503 |   __pyx_v__tfst = fst::script::FstClass::Read(__pyx_v__sstrm, __pyx_k_pywrapfst);
          |                                                                                ^
    In file included from /usr/include/c++/9/memory:80,
                     from extensions/_pywrapfst.cpp:797:
    /usr/include/c++/9/bits/unique_ptr.h:334:7: note: candidate: ‘std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::nullptr_t) [with _Tp = fst::script::FstClass; _Dp = std::default_delete<fst::script::FstClass>; std::nullptr_t = std::nullptr_t]’
      334 |       operator=(nullptr_t) noexcept
          |       ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:334:17: note:   no known conversion for argument 1 from ‘fst::script::FstClass*’ to ‘std::nullptr_t’
      334 |       operator=(nullptr_t) noexcept
          |                 ^~~~~~~~~
    extensions/_pywrapfst.cpp: In function ‘__pyx_obj_10_pywrapfst_Fst* __pyx_f_10_pywrapfst__map(__pyx_obj_10_pywrapfst_Fst*, __pyx_opt_args_10_pywrapfst__map*)’:
    extensions/_pywrapfst.cpp:38123:60: error: ‘TIMES’ is not a member of ‘fst::script::MapType’
    38123 |   __pyx_t_2 = ((__pyx_v__map_type == fst::script::MapType::TIMES) != 0);
          |                                                            ^~~~~
    extensions/_pywrapfst.cpp:38195:164: error: no matching function for call to ‘Map(std::__shared_ptr_access<fst::script::FstClass, __gnu_cxx::_S_atomic, false, false>::element_type&, fst::script::MapType&, float&, double&, fst::script::WeightClass&)’
    38195 |   __pyx_t_3 = ((PyObject *)__pyx_f_10_pywrapfst__init_XFst(fst::script::Map((*__pyx_v_ifst->_fst), __pyx_v__map_type, __pyx_v_delta, __pyx_v_power, __pyx_v__weight).release())); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3605, __pyx_L1_error)
          |                                                                                                                                                                    ^
    In file included from /usr/include/fst/script/getters.h:21,
                     from /usr/include/fst/script/fstscript.h:29,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/map.h:59:6: note: candidate: ‘template<class Arc> void fst::script::Map(fst::script::MapArgs*)’
       59 | void Map(MapArgs *args) {
          |      ^~~
    /usr/include/fst/script/map.h:59:6: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:38195:164: note:   candidate expects 1 argument, 5 provided
    38195 |   __pyx_t_3 = ((PyObject *)__pyx_f_10_pywrapfst__init_XFst(fst::script::Map((*__pyx_v_ifst->_fst), __pyx_v__map_type, __pyx_v_delta, __pyx_v_power, __pyx_v__weight).release())); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3605, __pyx_L1_error)
          |                                                                                                                                                                    ^
    In file included from /usr/include/fst/script/getters.h:21,
                     from /usr/include/fst/script/fstscript.h:29,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/map.h:118:11: note: candidate: ‘fst::script::FstClass* fst::script::Map(const fst::script::FstClass&, fst::script::MapType, float, const fst::script::WeightClass&)’
      118 | FstClass *Map(const FstClass &fst, MapType map_type, float delta,
          |           ^~~
    /usr/include/fst/script/map.h:118:11: note:   candidate expects 4 arguments, 5 provided
    extensions/_pywrapfst.cpp: In function ‘__pyx_obj_10_pywrapfst_Fst* __pyx_f_10_pywrapfst_convert(__pyx_obj_10_pywrapfst_Fst*, int, __pyx_opt_args_10_pywrapfst_convert*)’:
    extensions/_pywrapfst.cpp:38797:80: error: no match for ‘operator=’ (operand types are ‘std::unique_ptr<fst::script::FstClass>’ and ‘fst::script::FstClass*’)
    38797 |   __pyx_v__tfst = fst::script::Convert((*__pyx_v_ifst->_fst), __pyx_v__fst_type);
          |                                                                                ^
    In file included from /usr/include/c++/9/memory:80,
                     from extensions/_pywrapfst.cpp:797:
    /usr/include/c++/9/bits/unique_ptr.h:305:7: note: candidate: ‘std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Tp, _Dp>&&) [with _Tp = fst::script::FstClass; _Dp = std::default_delete<fst::script::FstClass>]’
      305 |       operator=(unique_ptr&& __u) noexcept
          |       ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:305:30: note:   no known conversion for argument 1 from ‘fst::script::FstClass*’ to ‘std::unique_ptr<fst::script::FstClass>&&’
      305 |       operator=(unique_ptr&& __u) noexcept
          |                 ~~~~~~~~~~~~~^~~
    /usr/include/c++/9/bits/unique_ptr.h:325:2: note: candidate: ‘template<class _Up, class _Ep> typename std::enable_if<std::__and_<std::__and_<std::is_convertible<typename std::unique_ptr<_Up, _Ep>::pointer, typename std::__uniq_ptr_impl<_Tp, _Dp>::pointer>, std::__not_<std::is_array<_Up> > >, std::is_assignable<_T2&, _U2&&> >::value, std::unique_ptr<_Tp, _Dp>&>::type std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Up = _Up; _Ep = _Ep; _Tp = fst::script::FstClass; _Dp = std::default_delete<fst::script::FstClass>]’
      325 |  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
          |  ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:325:2: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:38797:80: note:   mismatched types ‘std::unique_ptr<_Tp, _Dp>’ and ‘fst::script::FstClass*’
    38797 |   __pyx_v__tfst = fst::script::Convert((*__pyx_v_ifst->_fst), __pyx_v__fst_type);
          |                                                                                ^
    In file included from /usr/include/c++/9/memory:80,
                     from extensions/_pywrapfst.cpp:797:
    /usr/include/c++/9/bits/unique_ptr.h:334:7: note: candidate: ‘std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::nullptr_t) [with _Tp = fst::script::FstClass; _Dp = std::default_delete<fst::script::FstClass>; std::nullptr_t = std::nullptr_t]’
      334 |       operator=(nullptr_t) noexcept
          |       ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:334:17: note:   no known conversion for argument 1 from ‘fst::script::FstClass*’ to ‘std::nullptr_t’
      334 |       operator=(nullptr_t) noexcept
          |                 ^~~~~~~~~
    extensions/_pywrapfst.cpp: In function ‘bool __pyx_f_10_pywrapfst_randequivalent(__pyx_obj_10_pywrapfst_Fst*, __pyx_obj_10_pywrapfst_Fst*, int, __pyx_opt_args_10_pywrapfst_randequivalent*)’:
    extensions/_pywrapfst.cpp:41833:149: error: no matching function for call to ‘RandEquivalent(std::__shared_ptr_access<fst::script::FstClass, __gnu_cxx::_S_atomic, false, false>::element_type&, std::__shared_ptr_access<fst::script::FstClass, __gnu_cxx::_S_atomic, false, false>::element_type&, int32_t&, fst::RandGenOptions<fst::script::RandArcSelection>&, float&, uint64_t&)’
    41833 |   __pyx_r = fst::script::RandEquivalent((*__pyx_v_ifst1->_fst), (*__pyx_v_ifst2->_fst), __pyx_v_npath, (*__pyx_v__opts), __pyx_v_delta, __pyx_v_seed);
          |                                                                                                                                                     ^
    In file included from /usr/include/fst/script/fstscript.h:60,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/randequivalent.h:27:6: note: candidate: ‘template<class Arc> void fst::script::RandEquivalent(fst::script::RandEquivalentArgs1*)’
       27 | void RandEquivalent(RandEquivalentArgs1 *args) {
          |      ^~~~~~~~~~~~~~
    /usr/include/fst/script/randequivalent.h:27:6: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:41833:149: note:   candidate expects 1 argument, 6 provided
    41833 |   __pyx_r = fst::script::RandEquivalent((*__pyx_v_ifst1->_fst), (*__pyx_v_ifst2->_fst), __pyx_v_npath, (*__pyx_v__opts), __pyx_v_delta, __pyx_v_seed);
          |                                                                                                                                                     ^
    In file included from /usr/include/fst/script/fstscript.h:60,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/randequivalent.h:62:6: note: candidate: ‘template<class Arc> void fst::script::RandEquivalent(fst::script::RandEquivalentArgs2*)’
       62 | void RandEquivalent(RandEquivalentArgs2 *args) {
          |      ^~~~~~~~~~~~~~
    /usr/include/fst/script/randequivalent.h:62:6: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:41833:149: note:   candidate expects 1 argument, 6 provided
    41833 |   __pyx_r = fst::script::RandEquivalent((*__pyx_v_ifst1->_fst), (*__pyx_v_ifst2->_fst), __pyx_v_npath, (*__pyx_v__opts), __pyx_v_delta, __pyx_v_seed);
          |                                                                                                                                                     ^
    In file included from /usr/include/fst/script/fstscript.h:60,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/randequivalent.h:71:6: note: candidate: ‘bool fst::script::RandEquivalent(const fst::script::FstClass&, const fst::script::FstClass&, int32, float, time_t, const fst::RandGenOptions<fst::script::RandArcSelection>&, bool*)’
       71 | bool RandEquivalent(const FstClass &fst1, const FstClass &fst2, int32 npath = 1,
          |      ^~~~~~~~~~~~~~
    /usr/include/fst/script/randequivalent.h:72:27: note:   no known conversion for argument 4 from ‘fst::RandGenOptions<fst::script::RandArcSelection>’ to ‘float’
       72 |                     float delta = kDelta, time_t seed = time(nullptr),
          |                     ~~~~~~^~~~~~~~~~~~~~
    /usr/include/fst/script/randequivalent.h:78:6: note: candidate: ‘bool fst::script::RandEquivalent(const fst::script::FstClass&, const fst::script::FstClass&, int32, float, time_t, int32, bool*)’
       78 | bool RandEquivalent(const FstClass &fst1, const FstClass &fst2, int32 npath = 1,
          |      ^~~~~~~~~~~~~~
    /usr/include/fst/script/randequivalent.h:79:27: note:   no known conversion for argument 4 from ‘fst::RandGenOptions<fst::script::RandArcSelection>’ to ‘float’
       79 |                     float delta = kDelta, time_t seed = time(nullptr),
          |                     ~~~~~~^~~~~~~~~~~~~~
    extensions/_pywrapfst.cpp: In function ‘__pyx_obj_10_pywrapfst_MutableFst* __pyx_f_10_pywrapfst_randgen(__pyx_obj_10_pywrapfst_Fst*, int, __pyx_opt_args_10_pywrapfst_randgen*)’:
    extensions/_pywrapfst.cpp:42176:98: error: no matching function for call to ‘RandGen(std::__shared_ptr_access<fst::script::FstClass, __gnu_cxx::_S_atomic, false, false>::element_type&, std::unique_ptr<fst::script::VectorFstClass>::pointer, fst::RandGenOptions<fst::script::RandArcSelection>&, uint64_t&)’
    42176 |   fst::script::RandGen((*__pyx_v_ifst->_fst), __pyx_v__tfst.get(), (*__pyx_v__opts), __pyx_v_seed);
          |                                                                                                  ^
    In file included from /usr/include/fst/script/fstscript.h:61,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/randgen.h:21:6: note: candidate: ‘template<class Arc> void fst::script::RandGen(fst::script::RandGenArgs*)’
       21 | void RandGen(RandGenArgs *args) {
          |      ^~~~~~~
    /usr/include/fst/script/randgen.h:21:6: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:42176:98: note:   candidate expects 1 argument, 4 provided
    42176 |   fst::script::RandGen((*__pyx_v_ifst->_fst), __pyx_v__tfst.get(), (*__pyx_v__opts), __pyx_v_seed);
          |                                                                                                  ^
    In file included from /usr/include/fst/script/fstscript.h:61,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/randgen.h:47:6: note: candidate: ‘void fst::script::RandGen(const fst::script::FstClass&, fst::script::MutableFstClass*, time_t, const fst::RandGenOptions<fst::script::RandArcSelection>&)’
       47 | void RandGen(const FstClass &ifst, MutableFstClass *ofst,
          |      ^~~~~~~
    /usr/include/fst/script/randgen.h:48:21: note:   no known conversion for argument 3 from ‘fst::RandGenOptions<fst::script::RandArcSelection>’ to ‘time_t’ {aka ‘long int’}
       48 |              time_t seed = time(nullptr),
          |              ~~~~~~~^~~~~~~~~~~~~~~~~~~~
    extensions/_pywrapfst.cpp: In function ‘void __pyx_f_10_pywrapfst__shortestdistance(__pyx_obj_10_pywrapfst_Fst*, std::vector<fst::script::WeightClass>*, __pyx_opt_args_10_pywrapfst__shortestdistance*)’:
    extensions/_pywrapfst.cpp:43177:105: error: ‘ANY’ is not a member of ‘fst::script::ArcFilterType’
    43177 |     __pyx_v__opts.reset(new fst::script::ShortestDistanceOptions(__pyx_t_3, fst::script::ArcFilterType::ANY, __pyx_v_nstate, __pyx_v_delta));
          |                                                                                                         ^~~
    extensions/_pywrapfst.cpp: In function ‘__pyx_obj_10_pywrapfst_MutableFst* __pyx_f_10_pywrapfst_shortestpath(__pyx_obj_10_pywrapfst_Fst*, int, __pyx_opt_args_10_pywrapfst_shortestpath*)’:
    extensions/_pywrapfst.cpp:43596:152: error: no matching function for call to ‘fst::script::ShortestPathOptions::ShortestPathOptions(fst::QueueType&, int32_t&, bool&, float&, fst::script::WeightClass&, int64_t&)’
    43596 |   __pyx_v__opts.reset(new fst::script::ShortestPathOptions(__pyx_t_3, __pyx_v_nshortest, __pyx_v_unique, __pyx_v_delta, __pyx_v__weight, __pyx_v_nstate));
          |                                                                                                                                                        ^
    In file included from /usr/include/fst/script/fstscript.h:68,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/shortest-path.h:27:3: note: candidate: ‘fst::script::ShortestPathOptions::ShortestPathOptions(fst::QueueType, int32, bool, bool, float, bool, const fst::script::WeightClass&, int64)’
       27 |   ShortestPathOptions(QueueType qt, int32 n, bool u, bool hasdist, float d,
          |   ^~~~~~~~~~~~~~~~~~~
    /usr/include/fst/script/shortest-path.h:27:3: note:   candidate expects 8 arguments, 6 provided
    /usr/include/fst/script/shortest-path.h:19:8: note: candidate: ‘constexpr fst::script::ShortestPathOptions::ShortestPathOptions(const fst::script::ShortestPathOptions&)’
       19 | struct ShortestPathOptions : public fst::script::ShortestDistanceOptions {
          |        ^~~~~~~~~~~~~~~~~~~
    /usr/include/fst/script/shortest-path.h:19:8: note:   candidate expects 1 argument, 6 provided
    /usr/include/fst/script/shortest-path.h:19:8: note: candidate: ‘constexpr fst::script::ShortestPathOptions::ShortestPathOptions(fst::script::ShortestPathOptions&&)’
    /usr/include/fst/script/shortest-path.h:19:8: note:   candidate expects 1 argument, 6 provided
    extensions/_pywrapfst.cpp:43609:89: error: no matching function for call to ‘ShortestPath(std::__shared_ptr_access<fst::script::FstClass, __gnu_cxx::_S_atomic, false, false>::element_type&, std::unique_ptr<fst::script::VectorFstClass>::pointer, fst::script::ShortestPathOptions&)’
    43609 |   fst::script::ShortestPath((*__pyx_v_ifst->_fst), __pyx_v__tfst.get(), (*__pyx_v__opts));
          |                                                                                         ^
    In file included from /usr/include/fst/script/fstscript.h:68,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/shortest-path.h:41:6: note: candidate: ‘template<class Arc> void fst::script::ShortestPath(fst::script::ShortestPathArgs1*)’
       41 | void ShortestPath(ShortestPathArgs1 *args) {
          |      ^~~~~~~~~~~~
    /usr/include/fst/script/shortest-path.h:41:6: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:43609:89: note:   candidate expects 1 argument, 3 provided
    43609 |   fst::script::ShortestPath((*__pyx_v_ifst->_fst), __pyx_v__tfst.get(), (*__pyx_v__opts));
          |                                                                                         ^
    In file included from /usr/include/fst/script/fstscript.h:68,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/shortest-path.h:134:6: note: candidate: ‘template<class Arc> void fst::script::ShortestPath(fst::script::ShortestPathArgs2*)’
      134 | void ShortestPath(ShortestPathArgs2 *args) {
          |      ^~~~~~~~~~~~
    /usr/include/fst/script/shortest-path.h:134:6: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:43609:89: note:   candidate expects 1 argument, 3 provided
    43609 |   fst::script::ShortestPath((*__pyx_v_ifst->_fst), __pyx_v__tfst.get(), (*__pyx_v__opts));
          |                                                                                         ^
    In file included from /usr/include/fst/script/fstscript.h:68,
                     from extensions/_pywrapfst.cpp:819:
    /usr/include/fst/script/shortest-path.h:144:6: note: candidate: ‘void fst::script::ShortestPath(const fst::script::FstClass&, fst::script::MutableFstClass*, std::vector<fst::script::WeightClass>*, const fst::script::ShortestPathOptions&)’
      144 | void ShortestPath(const FstClass &ifst, MutableFstClass *ofst,
          |      ^~~~~~~~~~~~
    /usr/include/fst/script/shortest-path.h:144:6: note:   candidate expects 4 arguments, 3 provided
    /usr/include/fst/script/shortest-path.h:149:6: note: candidate: ‘void fst::script::ShortestPath(const fst::script::FstClass&, fst::script::MutableFstClass*, int32, bool, bool, const fst::script::WeightClass&, int64)’
      149 | void ShortestPath(const FstClass &ifst, MutableFstClass *ofst, int32 n,
          |      ^~~~~~~~~~~~
    /usr/include/fst/script/shortest-path.h:149:6: note:   candidate expects 7 arguments, 3 provided
    extensions/_pywrapfst.cpp: In function ‘__pyx_obj_10_pywrapfst_Fst* __pyx_f_10_pywrapfst_8Compiler_compile(__pyx_obj_10_pywrapfst_Compiler*, int)’:
    extensions/_pywrapfst.cpp:44911:32: error: ‘CompileInternal’ is not a member of ‘fst::script’; did you mean ‘CompileFstInternal’?
    44911 |   __pyx_v__tfst = fst::script::CompileInternal((*__pyx_v_self->_sstrm), __pyx_k_pywrapfst, __pyx_v_self->_fst_type, __pyx_v_self->_arc_type, __pyx_v_self->_isymbols, __pyx_v_self->_osymbols, __pyx_v_self->_ssymbols, __pyx_v_self->_acceptor, __pyx_v_self->_keep_isymbols, __pyx_v_self->_keep_osymbols, __pyx_v_self->_keep_state_numbering, __pyx_v_self->_allow_negative_labels);
          |                                ^~~~~~~~~~~~~~~
          |                                CompileFstInternal
    extensions/_pywrapfst.cpp: In function ‘PyObject* __pyx_pf_10_pywrapfst_9FarReader_4open(PyTypeObject*, PyObject*)’:
    extensions/_pywrapfst.cpp:45631:69: error: no match for ‘operator=’ (operand types are ‘std::unique_ptr<fst::script::FarReaderClass>’ and ‘fst::script::FarReaderClass*’)
    45631 |   __pyx_v__tfar = fst::script::FarReaderClass::Open(__pyx_v__sources);
          |                                                                     ^
    In file included from /usr/include/c++/9/memory:80,
                     from extensions/_pywrapfst.cpp:797:
    /usr/include/c++/9/bits/unique_ptr.h:305:7: note: candidate: ‘std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Tp, _Dp>&&) [with _Tp = fst::script::FarReaderClass; _Dp = std::default_delete<fst::script::FarReaderClass>]’
      305 |       operator=(unique_ptr&& __u) noexcept
          |       ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:305:30: note:   no known conversion for argument 1 from ‘fst::script::FarReaderClass*’ to ‘std::unique_ptr<fst::script::FarReaderClass>&&’
      305 |       operator=(unique_ptr&& __u) noexcept
          |                 ~~~~~~~~~~~~~^~~
    /usr/include/c++/9/bits/unique_ptr.h:325:2: note: candidate: ‘template<class _Up, class _Ep> typename std::enable_if<std::__and_<std::__and_<std::is_convertible<typename std::unique_ptr<_Up, _Ep>::pointer, typename std::__uniq_ptr_impl<_Tp, _Dp>::pointer>, std::__not_<std::is_array<_Up> > >, std::is_assignable<_T2&, _U2&&> >::value, std::unique_ptr<_Tp, _Dp>&>::type std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Up = _Up; _Ep = _Ep; _Tp = fst::script::FarReaderClass; _Dp = std::default_delete<fst::script::FarReaderClass>]’
      325 |  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
          |  ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:325:2: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:45631:69: note:   mismatched types ‘std::unique_ptr<_Tp, _Dp>’ and ‘fst::script::FarReaderClass*’
    45631 |   __pyx_v__tfar = fst::script::FarReaderClass::Open(__pyx_v__sources);
          |                                                                     ^
    In file included from /usr/include/c++/9/memory:80,
                     from extensions/_pywrapfst.cpp:797:
    /usr/include/c++/9/bits/unique_ptr.h:334:7: note: candidate: ‘std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::nullptr_t) [with _Tp = fst::script::FarReaderClass; _Dp = std::default_delete<fst::script::FarReaderClass>; std::nullptr_t = std::nullptr_t]’
      334 |       operator=(nullptr_t) noexcept
          |       ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:334:17: note:   no known conversion for argument 1 from ‘fst::script::FarReaderClass*’ to ‘std::nullptr_t’
      334 |       operator=(nullptr_t) noexcept
          |                 ^~~~~~~~~
    extensions/_pywrapfst.cpp: In function ‘PyObject* __pyx_pf_10_pywrapfst_9FarWriter_4create(PyTypeObject*, PyObject*, PyObject*, PyObject*)’:
    extensions/_pywrapfst.cpp:47782:86: error: no match for ‘operator=’ (operand types are ‘std::unique_ptr<fst::script::FarWriterClass>’ and ‘fst::script::FarWriterClass*’)
    47782 |   __pyx_v__tfar = fst::script::FarWriterClass::Create(__pyx_t_1, __pyx_t_2, __pyx_t_4);
          |                                                                                      ^
    In file included from /usr/include/c++/9/memory:80,
                     from extensions/_pywrapfst.cpp:797:
    /usr/include/c++/9/bits/unique_ptr.h:305:7: note: candidate: ‘std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Tp, _Dp>&&) [with _Tp = fst::script::FarWriterClass; _Dp = std::default_delete<fst::script::FarWriterClass>]’
      305 |       operator=(unique_ptr&& __u) noexcept
          |       ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:305:30: note:   no known conversion for argument 1 from ‘fst::script::FarWriterClass*’ to ‘std::unique_ptr<fst::script::FarWriterClass>&&’
      305 |       operator=(unique_ptr&& __u) noexcept
          |                 ~~~~~~~~~~~~~^~~
    /usr/include/c++/9/bits/unique_ptr.h:325:2: note: candidate: ‘template<class _Up, class _Ep> typename std::enable_if<std::__and_<std::__and_<std::is_convertible<typename std::unique_ptr<_Up, _Ep>::pointer, typename std::__uniq_ptr_impl<_Tp, _Dp>::pointer>, std::__not_<std::is_array<_Up> > >, std::is_assignable<_T2&, _U2&&> >::value, std::unique_ptr<_Tp, _Dp>&>::type std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Up = _Up; _Ep = _Ep; _Tp = fst::script::FarWriterClass; _Dp = std::default_delete<fst::script::FarWriterClass>]’
      325 |  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
          |  ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:325:2: note:   template argument deduction/substitution failed:
    extensions/_pywrapfst.cpp:47782:86: note:   mismatched types ‘std::unique_ptr<_Tp, _Dp>’ and ‘fst::script::FarWriterClass*’
    47782 |   __pyx_v__tfar = fst::script::FarWriterClass::Create(__pyx_t_1, __pyx_t_2, __pyx_t_4);
          |                                                                                      ^
    In file included from /usr/include/c++/9/memory:80,
                     from extensions/_pywrapfst.cpp:797:
    /usr/include/c++/9/bits/unique_ptr.h:334:7: note: candidate: ‘std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::nullptr_t) [with _Tp = fst::script::FarWriterClass; _Dp = std::default_delete<fst::script::FarWriterClass>; std::nullptr_t = std::nullptr_t]’
      334 |       operator=(nullptr_t) noexcept
          |       ^~~~~~~~
    /usr/include/c++/9/bits/unique_ptr.h:334:17: note:   no known conversion for argument 1 from ‘fst::script::FarWriterClass*’ to ‘std::nullptr_t’
      334 |       operator=(nullptr_t) noexcept
          |                 ^~~~~~~~~
    extensions/_pywrapfst.cpp: In function ‘PyObject* __pyx_tp_new_10_pywrapfst__SymbolTableIterator(PyTypeObject*, PyObject*, PyObject*)’:
    extensions/_pywrapfst.cpp:50205:62: error: ‘iterator’ is not a member of ‘fst::SymbolTable’
    50205 |   new((void*)&(p->_siter)) std::unique_ptr<fst::SymbolTable::iterator> ();
          |                                                              ^~~~~~~~
    extensions/_pywrapfst.cpp:50205:70: error: template argument 1 is invalid
    50205 |   new((void*)&(p->_siter)) std::unique_ptr<fst::SymbolTable::iterator> ();
          |                                                                      ^
    extensions/_pywrapfst.cpp:50205:70: error: template argument 2 is invalid
    extensions/_pywrapfst.cpp: In function ‘int __pyx_pymod_exec__pywrapfst(PyObject*)’:
    extensions/_pywrapfst.cpp:53810:21: error: ‘kNoSymbol’ is not a member of ‘fst’
    53810 |   __pyx_k__6 = fst::kNoSymbol;
          |                     ^~~~~~~~~
    extensions/_pywrapfst.cpp:53811:21: error: ‘kNoSymbol’ is not a member of ‘fst’
    53811 |   __pyx_k__6 = fst::kNoSymbol;
          |                     ^~~~~~~~~
    extensions/_pywrapfst.cpp:53993:22: error: ‘kShortestDelta’ is not a member of ‘fst’; did you mean ‘ShortestPath’?
    53993 |   __pyx_k__10 = fst::kShortestDelta;
          |                      ^~~~~~~~~~~~~~
          |                      ShortestPath
    extensions/_pywrapfst.cpp:54002:22: error: ‘kShortestDelta’ is not a member of ‘fst’; did you mean ‘ShortestPath’?
    54002 |   __pyx_k__11 = fst::kShortestDelta;
          |                      ^~~~~~~~~~~~~~
          |                      ShortestPath
    extensions/_pywrapfst.cpp:54047:22: error: ‘kShortestDelta’ is not a member of ‘fst’; did you mean ‘ShortestPath’?
    54047 |   __pyx_k__16 = fst::kShortestDelta;
          |                      ^~~~~~~~~~~~~~
          |                      ShortestPath
    extensions/_pywrapfst.cpp:54056:22: error: ‘kShortestDelta’ is not a member of ‘fst’; did you mean ‘ShortestPath’?
    54056 |   __pyx_k__17 = fst::kShortestDelta;
          |                      ^~~~~~~~~~~~~~
          |                      ShortestPath
    extensions/_pywrapfst.cpp:54074:22: error: ‘kShortestDelta’ is not a member of ‘fst’; did you mean ‘ShortestPath’?
    54074 |   __pyx_k__19 = fst::kShortestDelta;
          |                      ^~~~~~~~~~~~~~
          |                      ShortestPath
    extensions/_pywrapfst.cpp:54092:22: error: ‘kShortestDelta’ is not a member of ‘fst’; did you mean ‘ShortestPath’?
    54092 |   __pyx_k__21 = fst::kShortestDelta;
          |                      ^~~~~~~~~~~~~~
          |                      ShortestPath
    extensions/_pywrapfst.cpp:54125:45: error: ‘kNoSymbol’ is not a member of ‘fst’
    54125 |   __pyx_t_2 = __Pyx_PyInt_From_int64_t(fst::kNoSymbol); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3046, __pyx_L1_error)
          |                                             ^~~~~~~~~
    extensions/_pywrapfst.cpp:55075:22: error: ‘kShortestDelta’ is not a member of ‘fst’; did you mean ‘ShortestPath’?
    55075 |   __pyx_k__32 = fst::kShortestDelta;
          |                      ^~~~~~~~~~~~~~
          |                      ShortestPath
    extensions/_pywrapfst.cpp:55093:22: error: ‘kShortestDelta’ is not a member of ‘fst’; did you mean ‘ShortestPath’?
    55093 |   __pyx_k__32 = fst::kShortestDelta;
          |                      ^~~~~~~~~~~~~~
          |                      ShortestPath
    extensions/_pywrapfst.cpp:55285:22: error: ‘kShortestDelta’ is not a member of ‘fst’; did you mean ‘ShortestPath’?
    55285 |   __pyx_k__45 = fst::kShortestDelta;
          |                      ^~~~~~~~~~~~~~
          |                      ShortestPath
    extensions/_pywrapfst.cpp:55303:22: error: ‘kShortestDelta’ is not a member of ‘fst’; did you mean ‘ShortestPath’?
    55303 |   __pyx_k__47 = fst::kShortestDelta;
          |                      ^~~~~~~~~~~~~~
          |                      ShortestPath
    extensions/_pywrapfst.cpp:55333:22: error: ‘kShortestDelta’ is not a member of ‘fst’; did you mean ‘ShortestPath’?
    55333 |   __pyx_k__49 = fst::kShortestDelta;
          |                      ^~~~~~~~~~~~~~
          |                      ShortestPath
    extensions/_pywrapfst.cpp:55351:22: error: ‘kShortestDelta’ is not a member of ‘fst’; did you mean ‘ShortestPath’?
    55351 |   __pyx_k__49 = fst::kShortestDelta;
          |                      ^~~~~~~~~~~~~~
          |                      ShortestPath
    extensions/_pywrapfst.cpp:55416:3: error: ‘FST_FLAGS_fst_error_fatal’ was not declared in this scope; did you mean ‘FLAGS_fst_error_fatal’?
    55416 |   FST_FLAGS_fst_error_fatal = 0;
          |   ^~~~~~~~~~~~~~~~~~~~~~~~~
          |   FLAGS_fst_error_fatal
    error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-w5bt48up/pynini/setup.py'"'"'; __file__='"'"'/tmp/pip-install-w5bt48up/pynini/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-uek_nvvo/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/pynini Check the logs for full command output.

Has anyone gotten anything working on this device? I upgraded from a Jetson nano since it is losing support and only works with a 5 year old OS anyway.

@matt242 sorry I haven’t updated jetson-voice for JetPack 5 - see here for RIVA for JetPack 5.1: https://catalog.ngc.nvidia.com/orgs/nvidia/teams/riva/resources/riva_quickstart_arm64

1 Like

I understand that it takes a lot of work to update it.

Please see above, I tried many different options including Riva already. I followed the quickstart guide and got this error:

matt@fennee2:~$ ngc config set
Enter API key [********************************************************************************NTBl]. Choices: [<VALID_APIKEY>, 'no-apikey']: xxxxxxxxx
Enter CLI output format type [ascii]. Choices: ['ascii', 'csv', 'json']:   
Enter org [kvagvo1fwszg]. Choices: ['Matt Williamson (kvagvo1fwszg)']: 
Enter team [no-team]. Choices: ['matt', 'no-team']: matt
Enter ace [no-ace]. Choices: ['no-ace']:    
Validating configuration...
Successfully validated configuration.
Saving configuration...
Successfully saved NGC configuration to /home/matt/.ngc/config
matt@fennee2:~$ ngc registry resource download-version "nvidia/riva/riva_quickstart_arm64:2.11.0"
Getting files to download...
⠇ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • 0.0/139.0 KiB • Remaining: -:--:-- • ? • Elapsed: 0:00:00 • Total: 25 - Completed: 0 - Failed: 0
Error getting pagination for file download:'{"timestamp":1686830577264,"status":404,"error":"Not Found","path":"/v1/org/nvidia/team/riva/resources/riva_quickstart_arm64/2.11.0/files"}'
⠏ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • 0.0/139.0 KiB • Remaining: -:--:-- • ? • Elapsed: 0:00:00 • Total: 25 - Completed: 0 - Failed: 0

---------------------------------------------------------------------------
   Download status: FAILED
   Downloaded local path resource: /home/matt/riva_quickstart_arm64_v2.11.0
   Total files downloaded: 0
   Total transferred: 0 B
   Started at: 2023-06-15 08:02:56
   Completed at: 2023-06-15 08:02:57
   Duration taken: 0s
---------------------------------------------------------------------------

Also, in Chrome at least, the Direct Download button does nothing.

Try running chromium with the “--no-sandbox” option.

I can confirm that setting up the Orin Nano from the SDK Manager is functional and works well on the NVMe. Just make sure you run the SDK Manager on a native Ubuntu machine and follow it’s instructions to get NVMe installed system with all the latest libraries.

@matt242 there’s an issue with the latest version of the NGC CLI client (v3.23) - sorry about that. Can you try using v3.22 from here? https://ngc.nvidia.com/setup/installers/cli

With ngccli v3.22, I was able to download the riva_quickstart_arm64 files okay after logging in with ngc config set

It turns out that pynini (which is a dependency of NeMo) needs a newer version of OpenFST than the one that comes with Ubuntu: https://www.opengrm.org/twiki/pub/GRM/PyniniDownload/NEWS

After building/installing OpenFST 1.8.2 from source, I was also able to install pynini and nemo_toolkit in the l4t-ml container. I’ve added this procedure for installing nemo to the l4t-ml Dockerfile here:

I’ll try these. Can you use Riva with ROS?

Using chrome and safari on mac

@matt242 you would need to create ROS wrapper nodes for it or model them after the ones I have in jetson-voice.

1 Like

I re-flashed the Jetson Orion Nano using the sdk manager gui this time. I’m getting a failure building jetson-containers still.

@matt242 I believe your gist log got cut-off and doesn’t have the build error(s) in it. Can you attach the file here instead?

Sure thing.

jetson-containers-failure.log (2.4 MB)

FAILED: torchaudio/csrc/CMakeFiles/libtorchaudio.dir/iir_cuda.cu.o 
Killed

Hi @matt242, buried in the log was this Killed message - it typically means that your board ran out of memory while compiling. Try disabling zram, mounting additional swap, and disabling the desktop UI (if needed):

If that still doesn’t work, try adding export NINJA_FLAGS=-j 1 && \ above this setup.py line in Dockerfile.pytorch:

Oh wow. Good eye. Thank you for finding that. Probably because I was installing riva at the same time. I’ll give it another shot.

Also, Riva worked this time. So that is exciting as well!

NINJA_FLAGS didn’t work, I’m using an NVME SSD, so I’ll just double my swap.

OK gotcha - I’ve recently built l4t-ml on Orin Nano (after the changes I made adding Nemo) with JetPack 5.1.1 / L4T R35.3.1. I have 16GB of swap mounted on NVMe but that’s probably overkill 🙂 glad you were able to get Riva working!

8GB swap worked! Thanks so much for your help!