My thoughts on Slackware, life and everything

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

28 Comments

  1. Dmitry Kulikov

    Yes chromium-94.0.4606.81-x86_64-1alien is broken.
    It can not play sound nor accept microphone.
    For me it is important https://app.gotomeeting.com does not work completely.

  2. Didier Spaier

    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

    • alienbob

      Well I hope he still reads this blog because I am not connected to the Slackware team since this summer.

  3. Tonus

    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 !

  4. Jen

    https://github.com/frescobaldi/frescobaldi/issues/1398 Here’s the issue I was having with frescobaldi. Allegedly there’s a commit to qpageview that fixes it. Not sure how many people are actually using it, though.

  5. gegechris99

    Hi Eric,
    I had to recompile those two packages for python 3.10:
    – python-pathlib2
    – wxpython

  6. metageek

    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

    • alienbob

      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.

      • metageek

        I’ll use the icu4c-compat package then. Should be fine, thx!

  7. TheTKS

    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

  8. Ricardo

    Hi Eric!

    Your protobuf package needs a recompile but there’s no hurry, I installed protobuf3 from SBo.

    Cheers!

  9. wirelesstevmc

    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?

    • alienbob

      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.

  10. wirelessmc on LQ

    This is very helpful. Thank you Eric.

  11. gegechris99

    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.

    • alienbob

      Indeed, I will fix that.

  12. gegechris99

    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).

    • alienbob

      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.

  13. Alek

    Well, on clean install of slackware64-15.0, inkscape and unknown one of its dependencies needs recompiling, because of minor upgrading of libboost and libpoppler. Sorry, had not spare time to resolve myself, so only sending info..

    greetings, Alek

    • Ricardo

      Hi Alek,

      There are boost-compat and poppler-compat packages on Eric’s repositories that you can install in the meantime.

      Cheers,

      • Alek

        hello Ricardo, thanks for the reply
        boost-compat packages on Eric’s repositories is also v 1.78, but inkscape is searching for 1.77
        In the meantime, I manage to complie inkscape for myself, so it is only a memo for Eric to upgrade his package 🙂

        regards, Alek

        • alienbob

          Install boost-compat and poppler-compat and inkscape works.
          The version 1.78 of boost-compat means “several older versions of boost libraries up and including 1.78 are included in the package”.

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.

© 2024 Alien Pastures

Theme by Anders NorenUp ↑