Sujet : Re: Making 'compiled' modules work with multiple python versions on Linux
De : barry (at) *nospam* barrys-emacs.org (Barry Scott)
Groupes : comp.lang.pythonDate : 29. Mar 2024, 17:45:58
Autres entêtes
Message-ID : <mailman.32.1711731201.3468.python-list@python.org>
References : 1 2 3 4
User-Agent : Apple Mail (2.3774.500.171.1.1)
On 29 Mar 2024, at 16:09, Olivier B. <perso.olivier.barthelemy@gmail.com> wrote:
It is not a symlink on my system, where i built python myself, but a
15KB so file. But it seems to lack lots of python symbols.
Maybe what i should do is actually make libpython.so a physical copy
of libpyton311.so before linking to it, so now on any system the
module would look to load libpython.so, which could be pointing to any
version. I'll try that next
You do not link against the .so at all. All the symbols you need are defined in the
python process that loads the extension. Try without the -lpython and it should
just work.
Barry
Le ven. 29 mars 2024 à 10:10, Barry <barry@barrys-emacs.org> a écrit :
On 28 Mar 2024, at 16:13, Olivier B. via Python-list <python-list@python.org> wrote:
But on Linux, it seems that linking to libpython3.so instead of
libpython3.11.so.1.0 does not have the same effect, and results in
many unresolved python symbols at link time
Is this functionality only available on Windows?
Python limited API works on linux, but you do not link against the ..so on linux I recall.
You will have missed that libpython3.so is a symlink to libpython3.11.so.10.
Windows build practices do not translate one-to-one to linux, or macOS.
Barry