Bug 1705420

Summary: cantor FTBFS with Python 3.8
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: cantorAssignee: Than Ngo <than>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: jreznik, kde-sig, rdieter, than
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-07-10 23:56:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1686977    
Attachments:
Description Flags
Full log from Copr none

Description Miro Hrončok 2019-05-02 09:08:02 UTC
Created attachment 1561429 [details]
Full log from Copr

When I build cantor 18.12.3-4.fc31 with Python 3.8, it has missing files:

Processing files: python3-cantor-18.12.3-4.fc31.x86_64
error: File not found: /builddir/build/BUILDROOT/cantor-18.12.3-4.fc31.x86_64/etc/xdg/cantor_python3.knsrc
error: File not found: /builddir/build/BUILDROOT/cantor-18.12.3-4.fc31.x86_64/usr/bin/cantor_python3server
error: File not found: /builddir/build/BUILDROOT/cantor-18.12.3-4.fc31.x86_64/usr/lib64/qt5/plugins/cantor/backends/cantor_python3backend.so
error: File not found: /builddir/build/BUILDROOT/cantor-18.12.3-4.fc31.x86_64/usr/share/config.kcfg/python3backend.kcfg


RPM build errors:
    File not found: /builddir/build/BUILDROOT/cantor-18.12.3-4.fc31.x86_64/usr/share/config.kcfg/python3backend.kcfg
    File not found: /builddir/build/BUILDROOT/cantor-18.12.3-4.fc31.x86_64/etc/xdg/cantor_python3.knsrc
    File not found: /builddir/build/BUILDROOT/cantor-18.12.3-4.fc31.x86_64/usr/bin/cantor_python3server
    File not found: /builddir/build/BUILDROOT/cantor-18.12.3-4.fc31.x86_64/usr/lib64/qt5/plugins/cantor/backends/cantor_python3backend.so
    File not found: /builddir/build/BUILDROOT/cantor-18.12.3-4.fc31.x86_64/usr/share/config.kcfg/python3backend.kcfg

And fails to build. Full log attached.

If not rebuilt for 3.8, cantor won't install on Fedora 31 once we do the Python update.

Comment 1 Miro Hrončok 2019-07-10 10:08:24 UTC
Please respond.

Comment 2 Rex Dieter 2019-07-10 15:29:41 UTC
pong, can you retest with what's latest/current in master/ branch?  (it's been updated since this bug was filed).

Comment 3 Miro Hrončok 2019-07-10 15:44:05 UTC
We have been testing this occasionally every now and then:

https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/cantor/

Provides: application() application(org.kde.cantor.desktop) cantor = 19.04.2-1.fc31 cantor(x86-64) = 19.04.2-1.fc31 metainfo() metainfo(org.kde.cantor.appdata.xml) mimehandler(application/x-cantor)
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /usr/bin/bash libKF5Completion.so.5()(64bit) libKF5ConfigCore.so.5()(64bit) libKF5ConfigGui.so.5()(64bit) libKF5ConfigWidgets.so.5()(64bit) libKF5CoreAddons.so.5()(64bit) libKF5Crash.so.5()(64bit) libKF5I18n.so.5()(64bit) libKF5NewStuff.so.5()(64bit) libKF5Parts.so.5()(64bit) libKF5TextEditor.so.5()(64bit) libKF5WidgetsAddons.so.5()(64bit) libKF5XmlGui.so.5()(64bit) libQt5Core.so.5()(64bit) libQt5Core.so.5(Qt_5)(64bit) libQt5Core.so.5(Qt_5.12)(64bit) libQt5Gui.so.5()(64bit) libQt5Gui.so.5(Qt_5)(64bit) libQt5Widgets.so.5()(64bit) libQt5Widgets.so.5(Qt_5)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.4)(64bit) libcantor_config.so()(64bit) libcantorlibs.so.20()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) rtld(GNU_HASH)
Processing files: python3-cantor-19.04.2-1.fc31.x86_64
error: File not found: /builddir/build/BUILDROOT/cantor-19.04.2-1.fc31.x86_64/etc/xdg/cantor_python3.knsrc
error: File not found: /builddir/build/BUILDROOT/cantor-19.04.2-1.fc31.x86_64/usr/bin/cantor_python3server
error: File not found: /builddir/build/BUILDROOT/cantor-19.04.2-1.fc31.x86_64/usr/lib64/qt5/plugins/cantor/backends/cantor_python3backend.so
error: File not found: /builddir/build/BUILDROOT/cantor-19.04.2-1.fc31.x86_64/usr/share/config.kcfg/python3backend.kcfg


RPM build errors:
    File not found: /builddir/build/BUILDROOT/cantor-19.04.2-1.fc31.x86_64/usr/share/config.kcfg/python3backend.kcfg
    File not found: /builddir/build/BUILDROOT/cantor-19.04.2-1.fc31.x86_64/etc/xdg/cantor_python3.knsrc
    File not found: /builddir/build/BUILDROOT/cantor-19.04.2-1.fc31.x86_64/usr/bin/cantor_python3server
    File not found: /builddir/build/BUILDROOT/cantor-19.04.2-1.fc31.x86_64/usr/lib64/qt5/plugins/cantor/backends/cantor_python3backend.so
    File not found: /builddir/build/BUILDROOT/cantor-19.04.2-1.fc31.x86_64/usr/share/config.kcfg/python3backend.kcfg

Comment 4 Rex Dieter 2019-07-10 18:27:08 UTC
OK, it's clearly still not detecting the newer python3 version, so the python3 backend ends up being disabled/not-built

Comment 5 Rex Dieter 2019-07-10 18:30:29 UTC
Confirmed, FindPythonLibs3.cmake contains only,

  find_library(PYTHONLIBS3_LIBRARY NAMES python3.2m python3.3m python3.4m python3.5m python3.6m python3.7m

hopefully appending python3.8m there will do the trick.

Comment 6 Rex Dieter 2019-07-10 18:34:08 UTC
%changelog
* Wed Jul 10 2019 Rex Dieter <rdieter> - 19.04.2-2
- add python-3.8 support (#1705420)

Can you try this one?

Comment 7 Miro Hrončok 2019-07-10 22:21:36 UTC
Running a build but I think this will be needed: https://src.fedoraproject.org/rpms/cantor/pull-request/4

See https://docs.python.org/3.8/whatsnew/3.8.html#build-and-c-api-changes - the paragraph with Default sys.abiflags became an empty string...

Comment 9 Miro Hrončok 2019-07-10 23:56:31 UTC
Thanks.