Red Hat Bugzilla – Bug 73159
insmod fails when inserting NVidia X11 driver
Last modified: 2014-03-16 22:30:42 EDT
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 ---
/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
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):
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
insmod from modutils-2.4.18-2 fails to load the NVdriver module complaining that
it was compiled with gcc2, which is untrue.
insmod should be able to load the NVdriver module into the kernel.
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:
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
The dependent libraries of the nVidia module *ARE* compiled with gcc-2.96.
*** Bug 73210 has been marked as a duplicate of this bug. ***