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.
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.
Dmitry, Chromium is not broken and you should really make an effort to read my blog INCLUDING the comments section below articles if you use my packages.
The solution for your issue can be found in the comments section of https://alien.slackbook.org/blog/un-googled-chromium-update-for-slackware-14-2-and-current/
Thanks a lot. That helped.
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
Well I hope he still reads this blog because I am not connected to the Slackware team since this summer.
Pingback: Links 22/10/2021: Trump’s AGPL Violations and Chrome 95 Released | Techrights
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 !
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.
This is that commit which is supposed to fix your issue: https://github.com/frescobaldi/frescobaldi/commit/fcbdd4d478ce8046d2adca3c0add49c6bfdeeaa6.patch
I’ll put the Frescobaldi update on my TODO list.
Cool, thanks. Will poke at it a bit later.
Looks like there’s one more, too.
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.
I had to recompile those two packages for python 3.10:
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
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.
I’ll use the icu4c-compat package then. Should be fine, thx!
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.
Your protobuf package needs a recompile but there’s no hurry, I installed protobuf3 from SBo.
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?
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.
This is very helpful. Thank you 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.
Indeed, I will fix that.
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).
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.
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..
There are boost-compat and poppler-compat packages on Eric’s repositories that you can install in the meantime.
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 🙂
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”.