Bug 806440 - kernel 3.3.0-4.fc16.x86_64 kernel sources needed to compile modules missing
kernel 3.3.0-4.fc16.x86_64 kernel sources needed to compile modules missing
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
x86_64 Linux
unspecified Severity urgent
: ---
: ---
Assigned To: Kernel Maintainer List
Fedora Extras Quality Assurance
: Reopened
Depends On:
  Show dependency treegraph
Reported: 2012-03-23 14:34 EDT by shamim.islam
Modified: 2012-03-23 19:34 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2012-03-23 19:34:41 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description shamim.islam 2012-03-23 14:34:44 EDT
Description of problem:
Upgraded to 3.3.0-4.fc16.x86_64 and now am unable to compile NVIDIA drivers for bumblebee package (Optimus video).

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

How reproducible:

Steps to Reproduce:
1. Upgrade to 3.3.0-4.fc16.x86_64
2. Run "NVIDIA-Linux-x86_64-295.33.run -a -q -K"
3. System complains 
Actual results:
nvidia-installer command line:

Using: nvidia-installer ncurses user interface
-> Only installing a kernel module for a non-running kernel; skipping the "is an X server running?" test.
-> Only installing a kernel module for a non-running kernel; skipping the "is an NVIDIA kernel module loaded?" test.
-> License accepted by command line option.
-> Installing NVIDIA driver version 295.20.
-> Not probing for precompiled kernel interfaces.
-> Performing CC sanity check with CC="cc".
-> Kernel source path: '/lib/modules/3.3.0-4.fc16.x86_64/source'
-> Kernel output path: '/lib/modules/3.3.0-4.fc16.x86_64/build'
ERROR: If you are using a Linux 2.4 kernel, please make sure
you either have configured kernel sources matching your
kernel or the correct set of kernel headers installed
on your system.

If you are using a Linux 2.6 kernel, please make sure
you have configured kernel sources matching your kernel
installed on your system. If you specified a separate
output directory using either the "KBUILD_OUTPUT" or
the "O" KBUILD parameter, make sure to specify this
directory with the SYSOUT environment variable or with
the equivalent nvidia-installer command line option.

Depending on where and how the kernel sources (or the
kernel headers) were installed, you may need to specify
their location with the SYSSRC environment variable or
the equivalent nvidia-installer command line option.
ERROR: Installation has failed.  Please see the file '/var/log/nvidia.3.3.0-4.fc16.x86_64.log' for details.  You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.

Expected results:
Compile and install NVIDIA driver

Additional info:
I have an X53SV core i7 2730QM 8GB Ram 1 TB HDD
My video card is hybrid: Optimus (Intel) and GEFORCE 540M (Nvidia)
I need to use the old bumblebee project to enable my video card properly.
Comment 1 Dave Jones 2012-03-23 14:40:50 EDT
problems with the nvidia driver need to be reported to nvidia.
Comment 2 shamim.islam 2012-03-23 15:48:53 EDT
The SOURCES ARE MISSING in the kernel. EVERY SINGLE OTHER kernel version compiles and does not report source files missing.

There is no mention of source files missing from the build tree. This error has been confirmed by multiple other people complaining that they are unable to use dkms as well.

Comment 3 shamim.islam 2012-03-23 15:50:20 EDT
Correction - there is no mention of source files missing from the build tree in other versions of the kernel when building the NVIDIA drivers. Other people have reported similar problems using dkms.
Comment 4 shamim.islam 2012-03-23 15:55:14 EDT
Same problem exists for running vmplayer - the kernel modules won't compile because the source files can't be found. I attempted to run vmplayer on the new kernel. It said it needed to compile modules and promptly told me that it could not execute the first gcc commnad to compile the code. I have kernel-headers, kernel-devel, kernel (all same version) installed. When I do the same thing in any other version of the linux kernel, I do not have this problem.

Please assist instead of having an attitude with me. There are a LOT Of this exact problem reported on the web and everyone seems to think the problem is third-party code. The real problem is that there are files missing in the source tree that are required to compile modules.
Comment 5 shamim.islam 2012-03-23 15:56:58 EDT
To anyone reading this comment - if we do not get this problem resoled, I recommend reverting to kernel 3.2.6-3 or 3.1.0-7 and boycotting 3.3.0-4 until someone pays attention to a real issue instead of simply ignoring it like it's been ignored in every other thread on the web that I've read.

I've even seen people suggest instaling the src.rpm as if that will provide files needed to compile modules or even suggestions to compile a custom kernel.

We are using Fedora so that we do not have to do these things.
Comment 6 Dave Jones 2012-03-23 16:28:31 EDT
if the sources were missing, how do you think the binaries got generated ?
I just checked the kernel-devel package for 3.3.0-4, and the include files that should be there are there.

there is nothing here that the kernel needs to fix.

out of tree modules frequently need updating when the kernel internals change.
Take it up with nvidia.
Comment 7 shamim.islam 2012-03-23 18:57:35 EDT
I have the exact same problem with vmplayer - it tells me that there are files it cannot find in kernel-devel. I am not the only one. I can compile both vmplayer and NVIDIA kernel modules with other versions of the kernel. Other people are experiencing the exact same problem. Is there a dramatic change in the location of the header files in the new kernel that could be causing this problem?

The binaries are not built from "kernel-devel". The binaries are built from kernel-3.3.0-4....src.rpm which installs the entire tree in ~/.rpmbuild/SOURCES and the spec file in ~/.rpmbuild/SPECS and then compiles them in ~/.rpmbuild/BUILD/kernel-3.3.0-4(and pkg and arch name) and then takes the resulting BINARIES and puts them in ~/.rpmbuild/RPMS/<arch_name>. 

Building a kernel module on a target machine relies on files in /lib/modules, /usr/src/kernels and /usr/include which then places the resulting binary files in /lib/modules. The files missing are located in /usr/src/kernels/kernel-3.3.0-4(and arch name).

Being able to generate the binaries is separate from being able to compile kernel modules on the target machine.

Have you attempted to use dkms on 3.3.0-4? Have you attempted to compile a kernel module SEPARATELY from building the kernel itself? That's where we're seeing other reports coming in. And that's the problem we're all talking about.
Comment 8 shamim.islam 2012-03-23 18:58:56 EDT
Please provide details of either dkms being used to compile kernel modules in kernel 3.3.0-4 x86_64 or any other program such as VMWare server or VMWare Player successfully compiling kernel modules.
Comment 9 shamim.islam 2012-03-23 19:34:41 EDT
There was truly *something* wrong with the kernel-devel that was installed on my machine. I removed and re-installed each of the packages kernel, kernel-devel and kernel-headers. The first four times, I got the same result. I just retried it, and now all the compilation errors have disappeared. I have not made any changes to the third party software. I would surmise that there is a mirror with a bad copy of the kernel-devel package.

I would recommend a couple of things:
1. Inform any users having module compilation issue to uninstall and reinstall the RPM's with yum or rpm directly and retry the compile.

2. Provide better attitude and customer service when a user says there is a problem and do not dismiss the problem out of hand as a third-party error. I made no changes to my third-party code, which is now compiling with what I would surmise is a slightly different version of the kernel-devel package.

Note You need to log in before you can comment on or make changes to this bug.