Re: Making 'compiled' modules work with multiple python versions on Linux
> On 29 Mar 2024, at 16:09, Olivier B. > 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 a écrit : >> >> >> >>> On 28 Mar 2024, at 16:13, Olivier B. via Python-list >>> 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 >> >> > -- https://mail.python.org/mailman/listinfo/python-list
Re: Making 'compiled' modules work with multiple python versions on Linux
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 Le ven. 29 mars 2024 à 10:10, Barry a écrit : > > > > > On 28 Mar 2024, at 16:13, Olivier B. via Python-list > > 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 > > -- https://mail.python.org/mailman/listinfo/python-list
Re: Making 'compiled' modules work with multiple python versions on Linux
> On 28 Mar 2024, at 16:13, Olivier B. via Python-list > 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 -- https://mail.python.org/mailman/listinfo/python-list