Do I need to re-compile software if I update the kernel?
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Do I need to re-compile software if I update the kernel?
For example, I just compiled qemu, libvirt, and virt-manager, I have realized Slackware 14.2 has updates available for the 4.4. kernel, if I update to the latest, will the software listed above still be compatible or will I need to recompile the software? Thanks!
In some cases, software on new kernel not work, even latest version, like nvidia or vbox.
You need read changelog in kernel and in software.
If kernel version minor (only fixes) it maybe work as stable kernel, but if you upgrade to major version, be careful.
Last edited by StreamThreader; 08-25-2016 at 02:19 AM.
If you're building software locally, your installed kernel headers need to be the ones that your libc was built against. The actual running kernel can usually be different without it causing problems.
In some cases, software on new kernel not work, even latest version, like nvidia or vbox. You need read changelog in kernel and in software. If kernel version minor (only fixes) it maybe work as stable kernel, but if you upgrade to major version, be careful.
Uhm, no. The situation with both Nvidia and VirtualBox is that they install kernel modules into /lib/modules/4.4.17 or whatever the kernel version is. That path needs to change if the kernel version changes.
Uhm, no. The situation with both Nvidia and VirtualBox is that they install kernel modules into /lib/modules/4.4.17 or whatever the kernel version is. That path needs to change if the kernel version changes.
I think he means really new kernel versions that the software hasn't explicitely added support for. I know we've seen that with nvidia and AMD binary drivers, but these can usually be solved with a quick patch. I don't think I've ever noticed any posts about that with VirtualBox, so I don't know if they artificially limit the high end of the kernel version or not.
That being said, for OP, this won't be one of those situations, because both nvidia and virtualbox have support for the 4.4.x kernel. It doesn't matter if it's 4.4.14 or 4.4.19. They'll work fine after a recompile.
EDIT: You can check your SBo packages for anything that contains kernel modules so you know what packages need to be recompiled.
Code:
grep ".*\.ko$" /var/log/packages/*SBo*
On my system, I would need to recompile the lirc and virtualbox-kernel packages.
Last edited by bassmadrigal; 08-25-2016 at 10:08 AM.
If you're building software locally, your installed kernel headers need to be the ones that your libc was built against. The actual running kernel can usually be different without it causing problems.
As far as I know, I've never encountered any issues with upgrading the kernel headers without recompiling glibc. I'd be interested to hear if anyone ever has, and under what circumstances.
I think I read somewhere that programs could perhaps make use of constants from the headers, which could then conflict with the ones assumed by glibc. It sounds very theoretical but it isn't actually illegal, is it?
Certainly most distros upgrade the kernel and glibc in lockstep, and LFS treats the kernel headers as one of the four things you shouldn't upgrade between releases (the others are binutils, gcc and glibc).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.