Я установил Libreoffice версии 6.0.4.2 из исходного кода в Linux, используя gcc 4.9.1
Когда я пытаюсь импортировать uno в python2, я получаю сообщение об ошибке. динамический модуль не определяет функцию инициализации (initpyuno)
Python 2.7.11 |Anaconda custom (64-bit)| (default, Dec 6 2015, 18:08:32)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import pyuno
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dynamic module does not define init function (initpyuno)
>>>
Но это хорошо работает с python3.
Python 3.6.5 |Anaconda custom (64-bit)| (default, Apr 29 2018, 16:14:56)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyuno
>>> exit()
После расследования я обнаружил, что символ initpyuno недоступен в pyuno.so.
programnm -D pyuno.so
U abort
0000000000201078 B __bss_start
w __cxa_finalize
U dladdr
U dlclose
U dlerror
U dlopen
U dlsym
0000000000201078 D _edata
0000000000201080 B _end
0000000000000b2c T _fini
U fprintf
U free
w __gmon_start__
00000000000007f0 T _init
w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
w _Jv_RegisterClasses
U malloc
0000000000000b0c T PyInit_pyuno
U stderr
U strncpy
U strrchr
Может кто-нибудь помочь мне, как пропустить символ в библиотеке?