5

I have been trying to install openfst python library for the last week, however I am stuck. I have read all similar questions on stack overflow and other websites but none of the instructions work. I have the latest Xcode installed, using

brew install openfst

I also installed openfst, however when I want to install the python library by writing:

pip install openfst

in the terminal, I get:

Collecting openfst
  Using cached openfst-1.5.0.tar.gz
Building wheels for collected packages: openfst
  Running setup.py bdist_wheel for openfst
  Complete output from command /Users/ali/anaconda/bin/python -c "import setuptools;__file__='/private/var/folders/36/0m4j84pd49l55mvcqmbqt3z00000gn/T/pip-build-Jqe8Nu/openfst/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /var/folders/36/0m4j84pd49l55mvcqmbqt3z00000gn/T/tmpFNyllkpip-wheel-:
  running bdist_wheel
  running build
  running build_ext
  building 'fst' extension
  creating build
  creating build/temp.macosx-10.5-x86_64-2.7
  gcc -fno-strict-aliasing -I/Users/ali/anaconda/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/ali/anaconda/include/python2.7 -c fst.cc -o build/temp.macosx-10.5-x86_64-2.7/fst.o -std=c++11 -Wno-unneeded-internal-declaration -Wno-unused-function
  In file included from fst.cc:241:
  /usr/local/include/fst/util.h:24:10: fatal error: 'unordered_map' file not found
  #include <unordered_map>
           ^
  1 error generated.
  error: command 'gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for openfst
Failed to build openfst
Installing collected packages: openfst
  Running setup.py install for openfst
    Complete output from command /Users/ali/anaconda/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/36/0m4j84pd49l55mvcqmbqt3z00000gn/T/pip-build-Jqe8Nu/openfst/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/36/0m4j84pd49l55mvcqmbqt3z00000gn/T/pip-oi7XrR-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_ext
    building 'fst' extension
    gcc -fno-strict-aliasing -I/Users/ali/anaconda/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/ali/anaconda/include/python2.7 -c fst.cc -o build/temp.macosx-10.5-x86_64-2.7/fst.o -std=c++11 -Wno-unneeded-internal-declaration -Wno-unused-function
    In file included from fst.cc:241:
    /usr/local/include/fst/util.h:24:10: fatal error: 'unordered_map' file not found
    #include <unordered_map>
             ^
    1 error generated.
    error: command 'gcc' failed with exit status 1

    ----------------------------------------
Command "/Users/ali/anaconda/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/36/0m4j84pd49l55mvcqmbqt3z00000gn/T/pip-build-Jqe8Nu/openfst/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/36/0m4j84pd49l55mvcqmbqt3z00000gn/T/pip-oi7XrR-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/36/0m4j84pd49l55mvcqmbqt3z00000gn/T/pip-build-Jqe8Nu/openfst

Could someone please help me?

user823743
  • 2,152
  • 3
  • 21
  • 31

1 Answers1

3

I would suggest compiling OpenFST from source with Python enabled. It's pretty easy:

wget http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.7.2.tar.gz
tar zxvf openfst-1.7.2.tar.gz
cd openfst-1.7.2
./configure --enable-python
make
sudo make install
blambert
  • 1,340
  • 13
  • 19
  • This worked for me, thanks, except the latest version is now `openfst-1.7.2` and the link is http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.7.2.tar.gz – james-see May 01 '19 at 13:26
  • 1
    Thanks @jamescampbell. I updated the version number in the answer to 1.7.2. Future people trying this out may also want to replace 1.7.2 with whatever the latest version is. – blambert May 06 '19 at 20:03