Package updates as a result from the switch to Python 3.10 in Slackware-current

When Python3 was updated from 3.9 to 3.10 in Slackware-current two weeks ago, lots of 3rd-party packages (i.e. software packages that are not part of the Slackware distro itself) containing python modules were suddenly broken.
To make things more complex, not all Python software is currently compatible with Python 3.10. Patrick Volkerding opened a poll on LinuxQuestions.org to get feedback from the community about this intrusive update after we already have a Slackware 15.0 Release Candidate since mid-august.
After all, when you tag a Release Candidate, that usually sends a signal that the software set is frozen and only usability issues and software bugs will be addressed.

After giving this some time to sink in and hoping that this update would be reverted because of its impact, I now think we are stuck with Python 3.10 in Slackware. Which means I had to start looking at which of my own packages are now broken.

This will require time I am sure. time which I do not have in large quantities, so I am going to do this incrementally and with a sense of prioritizing. Top-most I am going to work on the packages that are actually reported to me as being broken.

Today’s message for you is that I have fixed the Inkscape package in my repository. Inkscape is a complex program for creating vector graphics (SVG images for instance). Complex in the sense that it has many dependencies and some of these were also broken – due to recent boost, icu4c and python3 upgrades in Slackware. The sum of updated packages is therefore: inkscape, libcdr, python-lxml, python-numpy and scour.

Let me know if there’s other software in my package repository for -current that’s currently broken. I do not use all that software myself so in some cases I will be totally unaware of any ‘broken-ness’ until you tell me.

Cheers! Eric

25 thoughts on “Package updates as a result from the switch to Python 3.10 in Slackware-current




  1. Hi Eric and all,

    Me too thought that tagging a Release Candidate meant it. So I took the plunge and rebuilt/upgraded all Python packages in Slint to adapted them to Python 3.9. Taking the occasion to make some not Python related upgrades, this leaded to a batch of 152 packages updates on Friday 21 May 2021 as logged in https://slackware.uk/slint/x86_64/slint-14.2.1/ChangeLog.txt. So the update of Python 3.9 to 3.10 didn’t make me very happy.

    This rant put aside, to know which packages needed a rebuilt I checked which provided python3 modules. Which was easy as all packages in concern where installed.

    PS I fully understand that Patrick doesn’t have to consider derivatives when deciding. But there are also all the packages provided by volunteers like you and easily built using SBo. If they were not available, Slackware would have way less users I think. Maybe that is something to consider by Slackware’s BDFL?

    Have a good day



  2. Pingback: Links 22/10/2021: Trump’s AGPL Violations and Chrome 95 Released | Techrights

  3. Hi
    Great to know you’re still around. I hope dust soon will settle and good vibes will arise.
    Thank you for your work on this.

    And I must say : thanks again for all things you’ve done and knowledge you shared !






      1. Sorry for the spam. With those two commits, frescobaldi will launch, but also crash when a file is loaded: https://pastebin.com/n85mpMGX . (also updated the issue on github.) I’m wondering if it wouldn’t be more worthwhile for people on slackware who use lilypond to switch to something like atom or denemo.

        In the interest of testing, I tried frescobaldi_master and qpageview_master (putting qpageview into frescobaldi_app and patching the above two files, but it had more int/float errors.



  4. Calibre isn’t working, though I am not sure it is due to python. It wants to find
    libicudata.so.65 but current is now with libicudata.so.69


    1. I have a “icu4c-compat” package in my repository which solves your issue by providing older icu4c libraries.
      I don’t know whether I will ever update calibre any time soon; Calibre switched to Python3 and there’s a lot of new dependencies to check out. Remember that my calibre package does not have *external* dependencies, I compile them all into the calibre package. At the moment, it’s just too much work.



  5. Eric, thanks for continuing to provide your packages for Slackware.

    I am still using your chromium and ungoogled chromium, and LibreOffice and openjdk on 14.2.

    Of course I could install them otherwise, but installing your packages saves me significant amounts of time, which I really appreciate.

    TKS



  6. Sorry, late to this discussion. Can you do updates/upgrades while blacklisting Python 3.10 and not break other new packages built with Python dependencies?


    1. Versions of Python can co-exist even. You can install a python3-3.9.x package next to Slackware’s own python3-3.10.0. For instance, take https://slackware.nl/cumulative/slackware64-current/slackware64/d/python3-3.9.7-x86_64-1.txz from the cumulative -current archive.

      Just make sure your package does not replace the Slackware symlinks in /usr/bin called ‘python’ and ‘python3’ to avoid breakage in Slackware’s own packages. Or do a re-install of Slackware’s python3 to fix those links if they were overwritten by your package.
      Also make sure that your scripts are modified to use ‘/usr/bin/python3.9’ which is the interpreter from your python3-3.9.x package.

      This way you do not have to blacklist anything and Slackware upgrades will cause no problems.



  7. Hi Eric,
    wxpython package 4.1.1 is not available in your current repository even though it’s mentioned in ChangeLog. It’s still version 4.1.0 from 2020.



  8. Hi Eric,

    I guess you are already aware that Slackware Current will revert to python 3.9.
    (see this LQ post: https://www.linuxquestions.org/questions/slackware-14/what-version-of-python-3-x-should-ship-with-slackware-15-0-a-4175702008/page8.html#post6297787).
    I suspect that you will also revert those packages that you updated to python 3.10. If not, please let us know so I can recompile those I use myself (I will probably do it anyway as you’ll certainly need time to revert them).


    1. Yes unfortunately that took way too long to get reverted. But I will have to wait for the update in the -current distro tree before I change any package in my own repository.
      There will be a couple in there that probably benefit from an upgrade instead of simply re-instating the older versions.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.