OpenNMT

Raise error when using python library on ARM

I’m trying to install on ARM 64bit (cpu only), but get error when using python library:

>>> from ctranslate2.translator import Translator
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "~/anaconda3/lib/python3.7/site-packages/ctranslate2/__init__.py", line 2, in <module>
    from ctranslate2.translator import Translator
ImportError:~/anaconda3/lib/python3.7/site-packages/ctranslate2/libctranslate2.so: undefined symbol: _ZN11ctranslate213get_gpu_countEv

However when using Ctranslate2/cli/translate, it works well. How can I fix it ?

These are my compile command:

# step 1 compile:
git submodule update --init --recursive
mkdir build && cd build
cmake -DWITH_OPENBLAS=ON -DWITH_MKL=OFF -DOPENMP_RUNTIME=COMP -DENABLE_PROFILING=ON ..
make -j

# step 2 install python library:
cd build && make install && cd ..
cd python
pip install -r install_requirements.txt
python setup.py bdist_wheel
pip install dist/*.whl

# step 3 set LD_LIBRARY_PATH

Version:
OpenBLAS: 0.2.20
CTranslate2: 2.7.0

It sounds like you have multiple versions of the CTranslate2 library, and an old library was loaded when running the Python module. Can you check for that?

Make sure to clean the previous installations and run all compile commands again.

Thanks a lot, it works!