See https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/pyotherside/ for actual logs. This report is automated and not very verbose, but feel free to ping me for help.
This is weird, I've checked the Python 3.8 C API changes[0] and while some symbols apparently have been deprecated, the "undefined reference" ones are not on the list as far as I can tell. So for the time being I've opened an issue upstream: https://github.com/thp/pyotherside/issues/102 [0] https://docs.python.org/3.8/whatsnew/3.8.html#changes-in-the-c-api
I bet this is https://docs.python.org/3.8/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build Does pyotherside use python3-config? Add the --embed flag.
(In reply to Miro Hrončok from comment #2) > I bet this is > https://docs.python.org/3.8/whatsnew/3.8.html#debug-build-uses-the-same-abi- > as-release-build > > Does pyotherside use python3-config? Add the --embed flag. Upstream has already fixed[0] the issue in response to the issue I've reported and released PyOtherSide 1.5.5 with the fix. Unfortunately I have not yet been able to test the new version as attempts to use the Python 3.8 mock config die with the following error: ============================================================================================================================================================================================= Package Architecture Version Repository Size ============================================================================================================================================================================================= Reinstalling: gdb-minimal x86_64 8.3.50.20190601-15.fc31 python3.8 3.3 M Transaction Summary ============================================================================================================================================================================================= Total download size: 3.3 M Installed size: 12 M Downloading Packages: [MIRROR] gdb-minimal-8.3.50.20190601-15.fc31.x86_64.rpm: Interrupted by header callback: Server reports Content-Length: 4 but expected size is: 3450276 [FAILED] gdb-minimal-8.3.50.20190601-15.fc31.x86_64.rpm: No more mirrors to try - All mirrors were already tried without success Error: Error downloading packages: Cannot download 00921770-gdb/gdb-minimal-8.3.50.20190601-15.fc31.x86_64.rpm: All mirrors were tried ERROR: Exception(pyotherside-1.5.5-1.fc31.src.rpm) Config(fedora-rawhide-x86_64-python3.8) 10 minutes 41 seconds INFO: Results and/or logs in: /var/lib/mock/fedora-rawhide-x86_64-python3.8/result ERROR: Command failed: # /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-x86_64-python3.8/root/ -y --releasever 31 --setopt=deltarpm=False --disableplugin=local --disableplugin=spacewalk update The mock config is direct copy-paste from the Python 3.8 COPR info page. Any pointers what to try to get past this ? Or maybe this is just some mirror syncing issue that will go away by itself eventually ? In any case, 1.5.5 builds just fine on the regular Rawhide target in koji. :) [0] https://github.com/thp/pyotherside/commit/a2955b1c537c2b3387845b63c35ce9a8bd9774b6
I use: mock -r ~/.config/mock/fedora-rawhide-x86_64-python3.8.cfg --scrub=dnf-cache
That fix was not enough. The build no longer links to libpython, resulting in undefined references to Python API like Py_InitializeEx. Code that embeds Python (rather than building an extension module) needs to pass `--embed` to any `python3-config --libs` invocation to build with Python 3.8. More information: https://docs.python.org/3.8/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build
That was fixed with 1.5.7 for Python 3.8 but the fallback to previous versions is wrong and now it fails with Python 3.7: https://github.com/thp/pyotherside/issues/102#issuecomment-500436221