Bug 73159

Summary: insmod fails when inserting NVidia X11 driver
Product: [Retired] Red Hat Public Beta Reporter: Felipe Alfaro Solana <felipe_alfaro>
Component: modutilsAssignee: Bill Nottingham <notting>
Status: CLOSED NOTABUG QA Contact: Brian Brock <bbrock>
Severity: high Docs Contact:
Priority: medium    
Version: nullCC: felipe_alfaro, rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-08-31 12:11:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Felipe Alfaro Solana 2002-08-31 12:11:26 UTC
Description of Problem:
In previous versions of ReHat (Limbo, concretely), I was able to download the
NVidia X11 video driver for my TNT2 Riva video card and compile it to suit my
kernel. However, starting with Red Hat Linux Null, whenever I try to insert the
resulting NVdriver kernel module, insmod complains with the following error message:

--- BEGIN ---
Using /lib/modules/2.4.18-10/kernel/drivers/video/NVdriver
/lib/modules/2.4.18-10/kernel/drivers/video/NVdriver: The module you are trying
to load (/lib/modules/2.4.18-10/kernel/drivers/video/NVdriver) is compiled with
a gcc
version 2 compiler, while the kernel you are running is compiled with
a gcc version 3 compiler. This is known to not work.
--- END ---

This is incorrect for the following reasons:

1. I have downloaded and installed RawHide's "kernel-source-2.4.18-10.i386.rpm",
as 2.4.18-11 seems a little bit unstable and can't get it to compile correctly.
2. I compiled 2.4.18-10 using Null's gcc, which is in synch with RawHide's gcc
and it's known to be version 3.2-1
3. During the rebuild of the NVidia SRPM, I used the same compiler, 3.2-1.

Just to check, here is what "gcc -v" and "cc -v return":

--- BEGIN ---
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --host=i386-redhat-linux --with-system-zlib --enable-__cxa_atexit
Thread model: posix
gcc version 3.2 (Red Hat Linux Rawhide 3.2-1)
--- END ---

So, why does it fail? I think it's related to the "modutils-2.4.18-2" package,
which is incorrectly detecting a tainted, non-GPLd kernel module as being
compiled with gcc2, when in fact both the kernel and the module itself have been
compiled with exactly the same version of gcc: gcc-3.2-1.

I tried using the "/sbin/insmod" executable from an older version of the
modutils package, concretely, I used "/sbib/insmod" from "modutils-2.4.14-3" and
it was able to load the module correctly into the kernel. The only warning was
that the module (NVidia closed source) would taint the kernel, but this was
expected. Of course, I have tested that the module is working flawlessly, and
it's pretty faster than the XFree86 driver.

Version-Release number of selected component (if applicable):
modutils-2.4.18-2

How Reproducible:
Always, starting with Red Hat Beta Null... It worked in Red Hat Beta Limbo.

Steps to Reproduce:
1. Download NVdriver SRPM (see the Additional info section for the URL)
2. Use "rpmbuild --rebuild" to build the normal RPM
3. Install the resulting RPM
4. It will complain about the NVdriver module being compiled with gcc2

Actual Results:
insmod from modutils-2.4.18-2 fails to load the NVdriver module complaining that
it was compiled with gcc2, which is untrue.

Expected Results:
insmod should be able to load the NVdriver module into the kernel.

Additional Information:
The version of modutils that fail: modutils-2.4.18-2
The version of modutils that work: modutils-2.4.14-3
The URL to get the NVidia X11 driver:
http://download.nvidia.com/XFree86_40/1.0-2960/NVIDIA_kernel-1.0-2960.src.rpm
How to build the SRPM (trivial): rpmbuild --rebuild NVIDIA_kernel-1.0-2960.src.rpm
The resulting module: /lib/modules/`uname -r`/kernel/drivers/video/NVdriver

Comment 1 Bill Nottingham 2002-09-02 04:26:45 UTC
The dependent libraries of the nVidia module *ARE* compiled with gcc-2.96.

Comment 2 Bill Nottingham 2002-09-02 04:27:07 UTC
*** Bug 73210 has been marked as a duplicate of this bug. ***