Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot install pynini 2.1.4 under ubuntu 22.04 #57

Closed
dchaplinsky opened this issue Aug 21, 2022 · 2 comments
Closed

Cannot install pynini 2.1.4 under ubuntu 22.04 #57

dchaplinsky opened this issue Aug 21, 2022 · 2 comments

Comments

@dchaplinsky
Copy link

I've built openfst 1.8.2 like this:

./configure --enable-far=true --enable-grm=true --enable-python
sudo make -j40
sudo make install

which is kind of successful:

$ fstinfo --help
Prints out information about an FST.

  Usage: fstinfo [in.fst]

PROGRAM FLAGS:

  --arc_filter: type = std::string, default = "any"
  Arc filter: one of "any", "epsilon", "iepsilon", "oepsilon"; this only affects the counts of (co)accessible states, connected states, and (strongly) connected components
  --fst_verify: type = bool, default = true
  Verify FST sanity
  --info_type: type = std::string, default = "auto"
  Info format: one of "auto", "long", "short", "fast".
auto: Equivalent to "long" if the FST is an ExpandedFst, otherwise "short".
long: Print all properties, computing if unknown; this may be slow for large FSTs.
short: Print only type and SymbolTable info.
fast: Print only info that is fast to obtain (by reading only the file header); this is more info than "short", but less than "long".
  --test_properties: type = bool, default = true
  Compute property values (if unknown to FST)

LIBRARY FLAGS:

Flags from: flags.cc
  --help: type = bool, default = false
  show usage information
  --helpshort: type = bool, default = false
  show brief usage information
  --tmpdir: type = std::string, default = "/tmp"
  temporary directory
  --v: type = int32_t, default = 0
  verbosity level

Flags from: fst.cc
  --fst_align: type = bool, default = false
  Write FST data aligned where appropriate
  --fst_default_cache_gc: type = bool, default = true
  Enable garbage collection of cache
  --fst_default_cache_gc_limit: type = int64_t, default = 1048576
  Cache byte size that triggers garbage collection
  --fst_read_mode: type = std::string, default = "read"
  Default file reading mode for mappable files
  --fst_verify_properties: type = bool, default = false
  Verify FST properties queried by TestProperties
  --save_relabel_ipairs: type = std::string, default = ""
  Save input relabel pairs to file
  --save_relabel_opairs: type = std::string, default = ""
  Save output relabel pairs to file

Flags from: symbol-table.cc
  --fst_compat_symbols: type = bool, default = true
  Require symbol tables to match when appropriate
  --fst_field_separator: type = std::string, default = "         "
  Set of characters used as a separator between printed fields

Flags from: util.cc
  --fst_error_fatal: type = bool, default = true
  FST errors are fatal; o.w. return objects flagged as bad: e.g., FSTs: kError property set, FST weights: not a Member()

Flags from: weight.cc
  --fst_weight_parentheses: type = std::string, default = ""
  Characters enclosing the first weight of a printed composite weight (e.g., pair weight, tuple weight and derived classes) to ensure proper I/O of nested composite weights; must have size 0 (none) or 2 (open and close parenthesis)
  --fst_weight_separator: type = std::string, default = ","
  Character separator between printed composite weights; must be a single character

But when I'm trying to instal pynini with pip install pynini==2.1.4 it gives me the following traceback:

Building wheels for collected packages: pynini
  Building wheel for pynini (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [55 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-3.10
      creating build/lib.linux-x86_64-3.10/pynini
      copying pynini/__init__.py -> build/lib.linux-x86_64-3.10/pynini
      creating build/lib.linux-x86_64-3.10/pywrapfst
      copying pywrapfst/__init__.py -> build/lib.linux-x86_64-3.10/pywrapfst
      creating build/lib.linux-x86_64-3.10/pynini/examples
      copying pynini/examples/plurals.py -> build/lib.linux-x86_64-3.10/pynini/examples
      copying pynini/examples/t9.py -> build/lib.linux-x86_64-3.10/pynini/examples
      copying pynini/examples/__init__.py -> build/lib.linux-x86_64-3.10/pynini/examples
      copying pynini/examples/weather.py -> build/lib.linux-x86_64-3.10/pynini/examples
      copying pynini/examples/dates.py -> build/lib.linux-x86_64-3.10/pynini/examples
      copying pynini/examples/chatspeak_model.py -> build/lib.linux-x86_64-3.10/pynini/examples
      copying pynini/examples/numbers.py -> build/lib.linux-x86_64-3.10/pynini/examples
      copying pynini/examples/case.py -> build/lib.linux-x86_64-3.10/pynini/examples
      copying pynini/examples/chatspeak.py -> build/lib.linux-x86_64-3.10/pynini/examples
      copying pynini/examples/g2p.py -> build/lib.linux-x86_64-3.10/pynini/examples
      creating build/lib.linux-x86_64-3.10/pynini/export
      copying pynini/export/__init__.py -> build/lib.linux-x86_64-3.10/pynini/export
      copying pynini/export/export.py -> build/lib.linux-x86_64-3.10/pynini/export
      copying pynini/export/multi_grm_example.py -> build/lib.linux-x86_64-3.10/pynini/export
      copying pynini/export/multi_grm.py -> build/lib.linux-x86_64-3.10/pynini/export
      copying pynini/export/grm_example.py -> build/lib.linux-x86_64-3.10/pynini/export
      copying pynini/export/grm.py -> build/lib.linux-x86_64-3.10/pynini/export
      creating build/lib.linux-x86_64-3.10/pynini/lib
      copying pynini/lib/__init__.py -> build/lib.linux-x86_64-3.10/pynini/lib
      copying pynini/lib/rewrite.py -> build/lib.linux-x86_64-3.10/pynini/lib
      copying pynini/lib/edit_transducer.py -> build/lib.linux-x86_64-3.10/pynini/lib
      copying pynini/lib/tagger.py -> build/lib.linux-x86_64-3.10/pynini/lib
      copying pynini/lib/byte.py -> build/lib.linux-x86_64-3.10/pynini/lib
      copying pynini/lib/rule_cascade.py -> build/lib.linux-x86_64-3.10/pynini/lib
      copying pynini/lib/paradigms.py -> build/lib.linux-x86_64-3.10/pynini/lib
      copying pynini/lib/features.py -> build/lib.linux-x86_64-3.10/pynini/lib
      copying pynini/lib/pynutil.py -> build/lib.linux-x86_64-3.10/pynini/lib
      copying pynini/lib/utf8.py -> build/lib.linux-x86_64-3.10/pynini/lib
      copying pynini/__init__.pyi -> build/lib.linux-x86_64-3.10/pynini
      copying pynini/py.typed -> build/lib.linux-x86_64-3.10/pynini
      copying pywrapfst/__init__.pyi -> build/lib.linux-x86_64-3.10/pywrapfst
      copying pywrapfst/py.typed -> build/lib.linux-x86_64-3.10/pywrapfst
      copying pynini/examples/py.typed -> build/lib.linux-x86_64-3.10/pynini/examples
      copying pynini/export/py.typed -> build/lib.linux-x86_64-3.10/pynini/export
      copying pynini/lib/py.typed -> build/lib.linux-x86_64-3.10/pynini/lib
      running build_ext
      building '_pywrapfst' extension
      creating build/temp.linux-x86_64-3.10
      creating build/temp.linux-x86_64-3.10/extensions
      x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/home/dima/Projects/recasepunct/venv/include -I/usr/include/python3.10 -c extensions/_pywrapfst.cpp -o build/temp.linux-x86_64-3.10/extensions/_pywrapfst.o -std=c++17 -Wno-register -Wno-deprecated-declarations -Wno-unused-function -Wno-unused-local-typedefs -funsigned-char
      extensions/_pywrapfst.cpp:810:10: fatal error: fst/types.h: No such file or directory
        810 | #include <fst/types.h>
            |          ^~~~~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pynini

My python version is 3.10.4

@kylebgorman
Copy link
Owner

kylebgorman commented Aug 21, 2022 via email

@dchaplinsky
Copy link
Author

Yes, I've tried to build openfst 1.8.1 for python 3.10. After fixing configure script (which had an issue with 3.6 > 3.10) I had a successful build but wasn't able to built 2.1.4 for nemo. Finally I managed to compile 2.1.15 with 1.8.2 and nightly version of nemo and now I'm a happy camper :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants