Slackware's recent gcc upgrades
I compiled my own 2.6.13 kernel a while back and recently I upgraded my gcc packages from ggc-3.3.6 to gcc-3.4.5. Today I went to upgrade my Nvidia driver from 7676 to 8174, but it kept failing due to wrong kernel sources. This had me flustered for a while because I had upgraded to 7676 after I compiled my 2.6.13 kernel with no problems and I haven't touched my kernel since, but then I figured out that I was having problems upgrading my Nvidia driver because I compiled my kernel with the older gcc version. I downgraded to gcc-3.3.6 and upgraded my Nvidia driver with no problems.
My question is, are you supposed to recompile your kernel every time you upgrade your gcc version, especially if you want to be able to compile future drivers? Also, I compiled the new Gaim 2.0 beta last night using using gcc-3.4.5 and the kernel sources built with gcc-3.3.6 and it compiled with no problems. Why was Gaim able to compile, but not the Nvidia driver? Thanks in advance. LocoMojo |
In my experience (at least with Alsa), any modules dependent on the kernel need to be compiled with the same GCC version as the kernel (e.g. you can't build Alsa with GCC 3.4 with a kernel built using 3.3). I believe the same applies to the nVidia drivers.
On the other hand, Gaim is not directly dependent on the kernel version, so does not have this problem. |
Quote:
Quote:
HTH, MMYoung |
Cathetic and MMYoung,
Thanks to the both of you for your replies. Makes sense that you would need to recompile your kernel for modules that are inserted into the kernel itself, but not for software that isn't part of the kernel. I went ahead and upgraded my kernel to 2.6.14.4. I compiled it using gcc-3.4.5 then I rebuilt my Nvidia module and it worked like a charm. I also had to recompile my pwc module (for my webcam) and that's working fine too. Funny though, I didn't have to recompile my Alsa driver, I only had to redo 'alsactl store' to save my settings and it is working fine. I never knew that you had to recompile your kernel after major gcc upgrades...learn something new everyday. Thanks for your help. LocoMojo |
Quote:
Later, MMYoung |
Quote:
Quote:
Quote:
If so, I just learned something else new today! One thing though, probably a very dumb question, but how did the kernel compilation know where to find the alsa sources to build the modules? I didn't specify the path to the alsa sources nor is there anything about alsa in my env. Pkgconfig? LocoMojo scratches his head |
I upgraded to the new gcc using slapt-get.. i would like to go back to the older version b/c I don't won't to recompile the kernel etc... and I too did not realize that the upgrade would require a new kernel...
So what is the best and easiest way to go back?? |
Quote:
Quote:
Good luck. LocoMojo |
Quote:
Quote:
The ALSA source has been included with the kernel for a while now. When you built your new kernel it compiled the modules and installed them to /lib/modules/new.kernel.number/kernel/sound/cardname. The only time you have to compile ALSA drivers individually is if a new release comes out between kernel updates, and then just if you want to or not. Later, MMYoung |
Quote:
Here I was running 2.6.X kernels with an Alsa driver package meant for 2.4.X kernels thinking I was all that and a bag of chips, heh. Quote:
Quote:
I wonder what else I have on my system that I don't need. I need to go over my installed packages again and get rid of the ones I'm not using. I'd also like to pare down my kernel (I already did, somewhat) to reduce the kernel size and unnecessary security holes, but it's difficult to know what I need and don't need. Am I right in thinking that unused modules don't pose any security holes? I mean, if there's a security hole with X module, but I'm not using it, then there's no security problems with that particular module? Or as long as that module is sitting around it could be used maliciously by someone with an agenda? Am I also right in thinking that unused modules don't contribute to the kernel's resource usage? Or does the kernel scan through all the modules in its "inventory" and hold that inventory in memory somewhere? Thanks for all your help. LocoMojo |
Quote:
Quote:
Quote:
Later, MMYoung |
So in such case everything needs to get recompiled to ensure everything functions properly, right? If so, it would be tedious to do so since you may left some libraries compiled against the old one.
Correct me if I am wrong. |
All times are GMT -5. The time now is 01:00 PM. |