LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 09-16-2015, 06:05 PM   #1
Altiris
Member
 
Registered: Mar 2013
Posts: 556

Rep: Reputation: Disabled
Will my compiled software "break" if I update my system to a new Slackware version?


I am on 14.1 and have compiled some software from SlackBuilds.org, say 14.2 or 15.0, whatever the name, a new update comes out that has a lot of changes with things (lets act as if its an actual Slackware release to make it more real world like). If I try to update my Slackware system to this new version, will my compiled software (which I used Slackbuilds from slackbuilds.org) break/stop working because of the changes or will they work fine? Do I have to wait for the maintainers of SlackBuilds.org to update all of their software for 14.2 (if that is the name)? I noticed SlackBuilds.org has a dropdown search for 13.37, 14.0, 14.1, etc.
 
Old 09-16-2015, 06:22 PM   #2
willysr
Senior Member
 
Registered: Jul 2004
Location: Jogja, Indonesia
Distribution: Slackware-Current
Posts: 4,661

Rep: Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784
Some may break, some will still continue to work
Ponce have a separate current tree if you want to see what changes need to be done for next Slackware release
 
1 members found this post helpful.
Old 09-16-2015, 07:37 PM   #3
frankbell
LQ Guru
 
Registered: Jan 2006
Location: Virginia, USA
Distribution: Slackware, Ubuntu MATE, Mageia, and whatever VMs I happen to be playing with
Posts: 19,317
Blog Entries: 28

Rep: Reputation: 6140Reputation: 6140Reputation: 6140Reputation: 6140Reputation: 6140Reputation: 6140Reputation: 6140Reputation: 6140Reputation: 6140Reputation: 6140Reputation: 6140
I will just second what willysr said. I've been running --Current for several years on various boxes. Occasionally, an update breaks a package. It's not frequent, but it does happen.

A recent major update to --Current broke LibreOffice and VLC (I use AlienBob's packages for them). As soon as AlienBob had compiled the new versions (in a commendably speedy fashion, I must add), I installed them and everything worked again. The only other major breakage I recall was gtkam; I didn't bother to reinstall that--just mount the SD card instead. Those are the only ones that have affected me directly since 13.37 was released.
 
Old 09-16-2015, 08:08 PM   #4
Altiris
Member
 
Registered: Mar 2013
Posts: 556

Original Poster
Rep: Reputation: Disabled
So is my safest option to stay on 14.1 until all of the SlackBuilds on slackbuilds.org have been made compatible for 14.2 (assuming that is the name)? How would it even be compatible though? I would have to remove everything and re-install for 14.2 or could I simply use something like sboupgrade ?
 
Old 09-16-2015, 10:48 PM   #5
mlangdn
Senior Member
 
Registered: Mar 2005
Location: Kentucky
Distribution: Slackware64-current
Posts: 1,845

Rep: Reputation: 452Reputation: 452Reputation: 452Reputation: 452Reputation: 452
If I wanted to be safe, I'd never come outside to play! I have used Slackware64-current since it was born. I also have had a few broken sbo packages along the way. Just recompile them, or fix a dependency or whatever. Where's the fun in waiting? Go for it.
 
1 members found this post helpful.
Old 09-17-2015, 01:34 AM   #6
kikinovak
MLED Founder
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453

Rep: Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154
Quote:
Originally Posted by Altiris View Post
So is my safest option to stay on 14.1 until all of the SlackBuilds on slackbuilds.org have been made compatible for 14.2 (assuming that is the name)? How would it even be compatible though? I would have to remove everything and re-install for 14.2 or could I simply use something like sboupgrade ?
First, write down all the SBo stuff on your machine. Something like:

Code:
$ ls /var/log/packages/*SBo* > ~/SBo.txt
Then, clean your system of third-party stuff:

Code:
# slackpkg clean-system
Upgrade it to the next Slackware version.

And then, rebuild your stuff.
 
Old 09-17-2015, 04:23 AM   #7
bobzilla
Member
 
Registered: Nov 2005
Location: Serbia
Distribution: Slackware
Posts: 231

Rep: Reputation: Disabled
You can easily make them work even if they don't. In a similar way how Slackware's solibs packages work.

Note the missing dependencies after upgrade and find the packages containing them (for example: grep libboost_atomic.so /var/log/packages/*). Download the appropriate package from Slackware(64) 14.1 (or 14.1 patches if exist any) and extract only *.so.* files (for example: libgnutls.so.28.20.2). Than make the appropriate symlinks if needed (for example: if the app requires libgnutls.so.28, you would symlink libgnutls.so.28.20.2 to libgnutls.so.28). After that, I suggest moving them in a new directory: /usr/lib64/oldlibs, /opt/lib64/slack-14.1, whatever... Just put the directory path in /etc/ld.so.conf and run su -c ldconfig everytime you add a new lib.

This works nice in most cases (although I had to recompile a package or two anyway).
 
Old 09-17-2015, 06:16 AM   #8
willysr
Senior Member
 
Registered: Jul 2004
Location: Jogja, Indonesia
Distribution: Slackware-Current
Posts: 4,661

Rep: Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784
Quote:
Originally Posted by bobzilla View Post
You can easily make them work even if they don't. In a similar way how Slackware's solibs packages work.

Note the missing dependencies after upgrade and find the packages containing them (for example: grep libboost_atomic.so /var/log/packages/*). Download the appropriate package from Slackware(64) 14.1 (or 14.1 patches if exist any) and extract only *.so.* files (for example: libgnutls.so.28.20.2). Than make the appropriate symlinks if needed (for example: if the app requires libgnutls.so.28, you would symlink libgnutls.so.28.20.2 to libgnutls.so.28). After that, I suggest moving them in a new directory: /usr/lib64/oldlibs, /opt/lib64/slack-14.1, whatever... Just put the directory path in /etc/ld.so.conf and run su -c ldconfig everytime you add a new lib.

This works nice in most cases (although I had to recompile a package or two anyway).
It's better to recompile instead of playing with symlinks since you may forgot someday which symlink was made manually in the past
 
Old 09-17-2015, 07:58 AM   #9
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Altrius, to give you the reasoning behind all this, there are a bunch of libraries with Linux. Everything from libjpeg to liblastfm to libusb. Many programs rely on these libraries for various functions to work. Looking at these three libs, it's reasonable to assume software dealing with pictures would use libjpeg, software playing music might support Last.FM support through liblastfm, and programs that can use peripherals would use libusb. When these libraries change (usually updated with newer versions, although, sometimes replaced, and sometimes removed), sometimes this breaks compatibility with the programs that rely on it. When that happens, you can typically just recompile the program and it will utilize the newer library.

So, when Slackware releases the next stable version, many of those libraries will have been updated from 14.1. In our three examples, going from 14.1 to -current, libjpeg has switched to libjpeg-turbo, liblastfm upgraded from 1.0.7 to 1.0.9, and libusb upgraded from 1.0.9 to 1.0.19. So, with these three libraries being updated, it stands to reason that compatibility with some of the programs relying on them might be broken, however, it isn't guaranteed that a version change breaks compatibility (in fact, many libraries try to keep compatibility, but sometimes the programs relying on them aren't designed to properly utilize newer versions without being recompiled).

So, long story short, it's possible that all your software you compiled will work fine, and it's also possible that none of it will. Most of the time, it's somewhere in the middle. Some programs will break, others will work fine. There's several different options provided to you in this thread, namely, you can keep everything and if something is broken after the upgrade, you can just recompile it, or you can just recompile all your programs before you run into problems. Personally, I would go the second route. It makes sure that a program you need will work properly when you need it, instead of trying to open a program only to find out you need to recompile it. kikinovak gave some great advice to save all the package names that you've built from SBo and then remove all those packages. Afterward, you could then just use something like sbopkg's sqg to generate the queue files for those programs and then just have everything build overnight. When you wake up, your computer should be back to normal.

As for SBo itself, the maintainers of the site have been keeping up to date with -current and almost all of the slackbuilds are ready for the next version of Slackware. Once Pat releases the next version, I'd imagine SBo will have that option in their dropdown within a day.
 
2 members found this post helpful.
Old 09-17-2015, 09:28 AM   #10
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,057

Rep: Reputation: Disabled
Quote:
Originally Posted by bassmadrigal View Post
As for SBo itself, the maintainers of the site have been keeping up to date with -current and almost all of the slackbuilds are ready for the next version of Slackware. Once Pat releases the next version, I'd imagine SBo will have that option in their dropdown within a day.
Well, generally speaking that seems me rather optimistic. If I I remember well it takes a few weeks to have all SBo packages updated after a Slackware release.

Last edited by Didier Spaier; 09-17-2015 at 10:44 AM. Reason: Typo fix.
 
Old 09-17-2015, 09:56 AM   #11
Altiris
Member
 
Registered: Mar 2013
Posts: 556

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by mlangdn View Post
If I wanted to be safe, I'd never come outside to play! I have used Slackware64-current since it was born. I also have had a few broken sbo packages along the way. Just recompile them, or fix a dependency or whatever. Where's the fun in waiting? Go for it.
What? Never did hear this before. The fun in waiting is that I dont want to have to deal with things breaking as much as possible, this is supposed to be a stable system you know?
 
Old 09-17-2015, 09:58 AM   #12
Altiris
Member
 
Registered: Mar 2013
Posts: 556

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by Didier Spaier View Post
Well, generally speaking that seems me rather optimistic. If i remember well it takes a few weeks to have all SBo packages updated after a Slackware release.
For me that is fine, I would prefer waiting and don't mind waiting as 14.1 will still be supported and then waiting a few weeks or even a month or however long it will be for Slackbuilds to get everything working for 14.2 is fine really.
 
Old 09-17-2015, 10:56 AM   #13
bobzilla
Member
 
Registered: Nov 2005
Location: Serbia
Distribution: Slackware
Posts: 231

Rep: Reputation: Disabled
Quote:
Originally Posted by willysr View Post
It's better to recompile instead of playing with symlinks since you may forgot someday which symlink was made manually in the past
I think you misread what I wrote. There's no any playing with symlinks.

TLDR version: you make a directory outside of systems lib dirs like /opt/lib64/oldlibs and put the old libs inside. Than put it in ld.so.conf.

Only symlinks you make is those in /opt/lib64/oldlibs. You don't really mess up anything on your default install.

Cheers.
 
Old 09-17-2015, 10:56 AM   #14
willysr
Senior Member
 
Registered: Jul 2004
Location: Jogja, Indonesia
Distribution: Slackware-Current
Posts: 4,661

Rep: Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784
Quote:
Originally Posted by Altiris View Post
What? Never did hear this before. The fun in waiting is that I dont want to have to deal with things breaking as much as possible, this is supposed to be a stable system you know?
Yeah, we need to check EVERY packages in SBo and that takes some time. We often bump to the latest version without checking whether other apps depends on this package can build find or not.

In short, we want a smooth transition so it does take time to make that happen
 
Old 09-17-2015, 10:58 AM   #15
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Quote:
Originally Posted by Didier Spaier View Post
Well, generally speaking that seems me rather optimistic. If i remember well it takes a few weeks to have all SBo packages updated after a Slackware release.
I'll be honest, I haven't followed the development process in past versions as closely and consistantly as I have with this one. But it seems that ponce, willysr, 55020, and others are well on top of keeping ponce's unofficial SBo repo up-to-date. I remember reading that only a handful of SlackBuilds don't compile on -current and that fixes were being researched. It seems that it is pretty much ready to move over once Pat throws the switch, but we know there's still some more time for them to test and patch, since we haven't even gotten an RC version of Slackware yet.

I guess once the final version is released, they may go through and recompile everything based on the finalized install, but I don't know their process in getting everything prepped and pushed out when a new version is released.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] What circumstances justify the installation of compiled software in "/usr"? ffffdisk Slackware 18 01-22-2013 07:11 PM
The difference of "rc" and "pl" software version nithima Linux - Software 1 06-10-2011 12:24 AM
Do I have to "apt-get upgrade" everyday for my system not to break? r3dhatter Debian 7 11-23-2004 05:48 PM
does failed using urpmi messed up my "Install Software" / "mandrake update" ??? sirpelidor Mandriva 1 11-02-2003 09:00 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 02:28 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration