Ошибка при импортировании so файла
Помогите пожалуйста. Написал скрипт на go( также пробовал на чистом С) скомпилировал в so с заголовками (для python). Но появилась ошибка.
OSError: dlopen failed: library "awesome.so" needed or dlopened by "/python3.10/lib-dynload/_ctypes.cpython-310.so" is not accessible for the namespace "(default)"
Код:
from ctypes import *
lib = cdll.LoadLibrary("./awesome.so")
Update: Обнаружил, что это не работает с любым скриптом (даже на чистом C скомпилированным в so). Возможно связано с версией python. Моя версия python3.10.4 и python3.9.7
Собирал C: cc -fPIC -shared -o my_functions.so my_functions.c
Собирал Go: go build -o awesome.so -buildmode=c-shared awesome.go
Код должен работать в любой версии python, так как это должна стать библиотека для python.
Разрядность системы:
.../usr/bin $ objdump -f ./python3.10
./python3.10: file format elf32-littlearm
architecture: armv7, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x00001550
~/.../project/go_project $ objdump -f awesome.so
awesome.so: file format elf32-littlearm
architecture: armv7, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x00000000
~/.../project/go_project $ readelf --dynamic awesome.so | grep NEEDED
0x00000001 (NEEDED) Shared library: [libdl.so]
0x00000001 (NEEDED) Shared library: [libc.so]