"AutoLoad failed" from plugins with Python 3.8 #2441
Comments
Indeed doing --- a/plugins/python/meson.build
+++ b/plugins/python/meson.build
@@ -1,6 +1,6 @@
python_opt = get_option('with-python')
if python_opt.startswith('python3')
- python_dep = dependency(python_opt, version: '>= 3.3')
+ python_dep = dependency(python_opt+'-embed', version: '>= 3.3')
else
python_dep = dependency(python_opt, version: '>= 2.7')
endif is enough to have it link again against python 3.8 and then it properly loads. However I've been told it's "wrong if extensions are linked against the interpreter". For now I'm applying the above in Debian, lacking a better solution. |
@mapreri hello, can you please clarify what extensions were meant there (like, you know, any extensions or just hexchat plugins)? |
see the "what's new" entry you linked above. It clearly says what to do regarding previous versions if the "embed" option is needed. Regarding who said me that it's "wrong" is the python maintainer in debian, and I believe he is referring to all extensions in general since I never mentioned anything about hexchat. Note that I don't know any more details myself on this matter, google might just be more useful than me :\ |
@mapreri it seems to me that they meant C extensions for python (third-party modules with native code). I understand the link above as "you don't have to link modules to libpython as it will be loaded by python itself before importing your module". Hexchat on the other hand is using cpython api without loading Python interpreter. |
@TingPing thanks for quick fix! I will test it tomorrow or so and report how it works. |
Sorry, this doesn't seem to work for me. Plugin built from 3871fba is still not linked to
Any idea why? I can provide additional logs when asked. |
It links against what |
Yeah, I understand. My pkg-config output looks correct:
That becomes "libpython3.8.so" on Linux and it's also present in my installation.
|
Steps to reproduce
-Dwith-python=python-3.8
.Result
It worked before with
python-3.7
. Possibly related to https://docs.python.org/3.8/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build (TLDR: C extensions are no longer linked to libpython, usepkg-config --libs python-x.x-embed
instead).The text was updated successfully, but these errors were encountered: