Closed dchaplinsky closed 1 year ago
This one's easy: Pynini 2.1.4 isn't compatible with OpenFst 1.8.2.
Each Pynini release is expected to work with at most one OpenFst release.
We're currently on Pynini 2.1.5, which is compatible with OpenFst 1.8.2.
(This information is disclosed in the Pynini's NEWS
file for each
release.)
On Sun, Aug 21, 2022 at 9:47 AM Dmitry Chaplinsky @.***> wrote:
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
— Reply to this email directly, view it on GitHub https://github.com/kylebgorman/pynini/issues/57, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABG4OLKUUAZIWQKLYKX3HLV2IXNRANCNFSM57E7PCNQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>
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 :)
I've built openfst 1.8.2 like this:
which is kind of successful:
But when I'm trying to instal pynini with
pip install pynini==2.1.4
it gives me the following traceback:My python version is
3.10.4