Я импортировать библиотеку Python «Интерфейс» находится в подпапках «Fortran_Interface» (обертывают f2py):Python импорт из вложенной - Fortran .so в .so из f2py - ImportError (изображение не найден)
import Interface
'Interface.so' был составлен на ссылку Фортрана Lib 'libsolver.so'. Компиляция была сделана с командами
gfortran -shared -O2 -o libsolver.so -fPIC Solver/Module_Solver.f90
f2py -c --fcompiler=gfortran -L. -I. -lsolver -m Interface Interface/Module_Interface.f90
Я получаю ошибку
ImportError: dlopen(/Users/gmueller/Workspace/PySpinX_G/Fortran_Interface/Interface.so, 2): Library not loaded: libsolver.so
Referenced from: /Users/gmueller/Workspace/PySpinX_G/Fortran_Interface/Interface.so
Reason: image not found
я могу импортировать библиотеку из внутри каталога библиотеки, но не из приведенной выше папки. Мне кажется, это связано с тем, что «Interface.so» связан с относительным pat h к 'libsolver.so', , который использует python из каталога выше.
Я был бы благодарен за любые идеи о том, как это решить. Компиляция .so с абсолютными путями не работаем, а также вызов сценарий питона, который находится в директории библиотеки из моего основного сценария ...
Редактировать: с помощью символической ссылки из папки моего Python сценария к lib solver.so, он работает.