Как решить "неопределенный символ: av_top_index" - PullRequest
3 голосов
/ 21 января 2020

Я пытаюсь использовать модуль python, называемый pyperler, который использует cython для внутреннего использования, и его нужно скомпилировать. Мне удалось скомпилировать его и установить в месте, отличном от используемого по умолчанию (местоположение по умолчанию не доступно для записи NFS), и для того, чтобы python «увидел» его, я использую модуль «imp», которому я передаю путь к месту установки pyperler. Но когда я пытаюсь использовать его в тривиальной тестовой программе python, я получаю сообщение об ошибке «неопределенный символ: av_top_index»

Ниже приведен тест python код программы

import sys, os, imp

install_dir = ".../pyperler_installation_dir/pyperler-0.2-py3.7-linux-x86_64.egg/"
my_module_file = os.path.join(install_dir, "pyperler.py")

pyperler = imp.load_source('pyperler', my_module_file)

import pyperler; i = pyperler.Interpreter()
print(i)
print(type(pyperler) )

и ошибка, которую я получаю:

Traceback (most recent call last):
  File "test2.py", line 6, in <module>
    pyperler = imp.load_source('pyperler', my_module_file)
  File ".../python/lib/python3.7/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File ".../pyperler_installation_dir/pyperler-0.2-py3.7-linux-x86_64.egg/pyperler.py", line 7, in <module>
    __bootstrap__()
  File ".../pyperler_installation_dir/pyperler-0.2-py3.7-linux-x86_64.egg/pyperler.py", line 6, in __bootstrap__
    imp.load_dynamic(__name__,__file__)
  File ".../200105/python/lib/python3.7/imp.py", line 342, in load_dynamic
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 583, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 1043, in create_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: .../pyperler_installation_dir/pyperler-0.2-py3.7-linux-x86_64.egg/pyperler.cpython-37m-x86_64-linux-gnu.so: undefined symbol: av_top_index

ОС - Oracle linux 7.7 Python версия: 3.7.4 G CC версия: 4.8.5 perl версия : 5.28

Команда, которую я использовал для компиляции модуля pyperler:

sudo PYTHONPATH=.../pyperler_installation_dir/ su -c ' .../user_python-conversion/python/bin/python3 setup.py install --root=".../pyperler_installation_dir/"'

Кто-нибудь знает, как решить эту ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...