[TriLUG] NVIDIA drivers on RH8 crash the system

Vestal, Roy L. rvestal at rti.org
Wed Oct 23 10:03:31 EDT 2002


I guess the "moral of the story", Read the friggen Release Notes with your
distro!

Thanks Tom!  :)

This brings another question up, could someone post the steps to rebuild the
srpms for my box? I know there are others that need this type of help too.

-----Original Message-----
From: Tom 'spot' Callaway [mailto:tcallawa at redhat.com] 
Sent: Wednesday, October 23, 2002 9:54 AM
To: trilug at trilug.org
Subject: Re: [TriLUG] NVIDIA drivers on RH8 crash the system


On Wed, 2002-10-23 at 09:31, Tanner Lovelace wrote:
> On Wed, 2002-10-23 at 09:23, Jeremy Portzer wrote:
> 
> > Understand that RHL 8 uses a new version of gcc that is not binary 
> > compatible with previous releases.  Since the nvidia drivers are 
> > released as binary kernel modules, they will likely not work with a 
> > kernel compiled with the new gcc.
> 
> Actually, assuming the code (or at least the interface) is in C, it 
> should work fine.  The C ABI (application binary interface) has been 
> stable for well over 10 years (more than that really, but I can't say 
> how much more).  The thing about the new GCC is that it changes the 
> C++ ABI.  Since lots of things like KDE are written in C++, this is 
> where you get the reports of complier incompatibilities.

Thats not exactly true...there was some C ABI changes in gcc 3.2.

Quoting from the Red Hat Linux 8.0 RELEASE-NOTES:

"Note that because of significant ABI fixes, the C++ compiler included in
GCC 3.2 produces code that is not binary compatible with previous versions
of GCC, including versions 3.1.x and 2.96. Additionally, there are ABI fixes
for the C compiler related to long long bitfields and where
__attribute__((aligned (xxx))) type definitions used as base type bitfields
work differently than using __attribute__((aligned
(xxx))) directly on the bitfield."

With regards to the kernel, you have to stay consistent with the compiler
revisions. If the kernel is built by gcc 3.2 (like it is in RHL
8.0) and you try to load a kernel module built with gcc 2.96 (or anything
older than 3.2)

Again, from the RELEASE-NOTES:
"The kernel included in Red Hat Linux 8.0 is compiled with GCC version 3.2.
Testing has shown that it is not possible to use kernel modules compiled
with older (GCC 2.96 or previous) GCC compilers with GCC 3.2 compiled
kernels. The kernel includes workarounds for older GCC bugs that change the
signatures of data structures. These restrictions are not in use when GCC
3.2 is used. All kernel modules included in Red Hat Linux 8.0 are compiled
with GCC 3.2; however, when using third-party modules it is important to
make sure that every module and its dependent objects, in their entirety, is
compiled with GCC 3.2. The modutils programs insmod and modprobe have
rudimentary checks for this and will prevent loading of modules in the case
of compiler version mismatches; these modules can be forced to load via the
-f parameter."

With all of that said, I rebuilt the NVIDIA_GLX & NVIDIA_kernel SRPMs on my
RHL 8.0 box with an nVidia Corporation NV15 [GeForce2 GTS], and I've had no
issues of note.

~spot
---
Tom "spot" Callaway <tcallawa(a)redhat*com> Red Hat Sales Engineer Sair
Linux and GNU Certified Administrator (LCA) Red Hat Certified Engineer
(RHCE)
GPG: D786 8B22 D9DB 1F8B 4AB7  448E 3C5E 99AD 9305 4260

The words and opinions reflected in this message do not necessarily reflect
those of my employer, Red Hat, and belong solely to me.

"Immature poets borrow, mature poets steal." --- T. S. Eliot

_______________________________________________
TriLUG mailing list
    http://www.trilug.org/mailman/listinfo/trilug
TriLUG Organizational FAQ:
    http://www.trilug.org/~lovelace/faq/TriLUG-faq.html



More information about the TriLUG mailing list