In slackware-current two inter-related packages were updated yesterday: libmpc and gcc. It turns out that the update of libmpc caused a library version change. Since the gcc compiler is dynamically linked to libmpc, the gcc packages had to be recompiled in order to make it link against the new libmpc.so.3 library. Another reason for recompiling the gcc package was the missing libiberty.a file. The gcc.SlackBuild needed an additional configuration parameter to make it install into the package again.
Unfortunately that slackware-current update broke the multilib gcc packages which I have in my own repository, as several people noticed … the quick’n’dirty fix was (cd /usr/lib64 ; ln -s libmpc.so.3 libmpc.so.2).
I have recompiled the multilib gcc twice (after applying Slackware’s updates to the gcc-multilib.SlackBuild): first compilation was done with that symlink created like I just described. That resulted in the desired linkage to the new libmpc.so.3 library. Then I removed the symlink which I had created earlier and compiled the gcc packages again, just to be sure (for Slackware, this double compilation was performed as well).
The new gcc packages are now online, along with an update to the massconvert32.sh script which is part of the compat32-tools package. Also I refreshed the set of 32-bit “compat32” packages which I create from the official 32-bit Slackware package tree, because there were several updated packages in Slackware (again), and I added the libva-intel-driver-compat32 package on request.
Here is where you can find the updated packages:
- http://www.slackware.com/~alien/multilib/current/ (the primary server)
- http://taper.alienbase.nl/mirrors/people/alien/multilib/current/ (my fast mirror)
If you wonder what this multilib is all about: it is needed if you want to use (binary-only) 32-bit software on 64-bit Slackware. Examples of that are Skype, Valve’s Steam Client, the WINE emulator, the Pipelight browser plugin, Citrix client etc.
Instructions on how to add or update multilib on your 64-bit Slackware can be found on the Slackware Documentation Project. Also, the slackpkg+ extension to Slackware’s own slackpkg contains the script “setupmultilib.sh” which can help you in setting up multilib properly.
Enjoy! Eric
PS: The nice graphic at the top was taken from the page http://gnu-linux-slackware.blogspot.nl/2013/01/switch-to-multilib-with-32-bit.html which is a Slackware related blog by Ismail.
EMBOSS and gwenview seem to be broken due to missing libraries. adobe-reader which is 32-bit (i think) is working ok. libreoffice is fine.
i’d been following -current sort of closely recently and this is the first real issues I have had. It’s not going to stop my work.
Hi regnad
This is indeed an exceptional situation where at one time, more than half of slackware-current got updated.
The change in library versions is affecting most of the 3rd-party packaged software, and everybody who has a 3rd-party repository is working hard to get these library version issues resolved by recompiling their software.
For me, fixing LibreOffice cost me two days because of the time it takes me to compile it. KDE 5 is another big one and not only does it take time to compile, but I am upgrading to the latest KDE software versions at the same time, and that measn I also have to debug the SlackBuild (new tarballs, names that have changed, slack-desc files that need to be written, compilation order has to be changed for some).
Slackware-current is what it is – a beta testing environment. And when the changes are small enough, it is usually safe to upgrade to the newest batch. When there is a massive upgrade like last week, you almost have certainty that things will break after upgrade.
i fixed gwenview by recompiling kde4-latest on my machine following the instructions and using the source and slackbuild you provide. I suppose that I can fix emboss by compiling it as well. everything else seems to work so far. I saw “Slackware 14.2” pop up somewhere. I suppose a new version release is in the works…
I saw somewhere
Hi,
I have now upgraded to the latest updates, including ktown, multilib and sbrepos. It’s working fine so far, including KDE5.
Sorry if this is not the right place to ask, but: I read that it’s now recommended to upgrade aaa_elflibs (via Stuart Winter aka drmozes) before upgrading anything else; I did this for -current, but not for multilib’s aaa_elflibs-compat32 package. I think it’s not really a big deal, but wanted to ask to be sure.
lems
Hi lems,
Since aaa_elflibs is the first package alphabetically, it would get upgraded first anyway if you are using slackpkg (annd have not blacklisted it).
I think you can also run “slackpkg reinstall multilib”? It’s not that many packages,. Warning: I am not even sure what happens if you run that command… it will hopefully show you the list of packages it will re-install after you click OK.
Hi Eric,
yes, sorry, I wasn’t using slackpkg but my own package manager, and had aaa_elflibs blacklisted. I forced the upgrade for series/slackware64, but forgot to do the same for multilib. I now upgraded multilib’s aaa_elflibs and reinstalled multilib. I now removed it from the blacklist.
Hi Eric, thanks for all your hard work! I am still running into a i965_dri.so error on a fresh install from yesterday (multilib). I put the output of /usr/bin/32/glxgears -info here:
http://www.linuxquestions.org/questions/slackware-14/things-that-won%27t-run-in-current-21-april-2015-a-4175540515/page10.html#post5355685
I like the loggo.
Hi Eric,
Yesterday i did an update on my multilib packages, after this my skype stop work.
Error:
bash-4.3$ skype
skype: error while loading shared libraries: liborc-0.4.so.0: cannot open shared object file: No such file or directory
May you help?
Thanks.
Rafael
Skype error fixed!
skype: error while loading shared libraries: liborc-0.4.so.0: cannot open shared object file: No such file or directory
Solution:
After converting the orc0.4 package from slackware-current32 to a compat32 package it worked again.
thanks to: mmawhin
source: LinuxQuestions.org
Just to update on “broke the multilib gcc packages” … the quick’n’dirty fix was (cd /usr/lib64 ; ln -s libmpc.so.2 libmpc.so.3), because there is libmpc.so.2 allready in system. Hope help someone.