package nvidia-current 195.36.24-0ubuntu1~10.04 failed to install/upgrade: nvidia-current kernel module failed to build (nv.c:417: error: unknown field ‘ioctl’ specified in initializer)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Gentoo Linux |
Fix Released
|
Medium
|
|||
nvidia-graphics-drivers (Ubuntu) |
Fix Released
|
Undecided
|
Daniel van Vugt | ||
Lucid |
Fix Released
|
Undecided
|
Daniel van Vugt | ||
nvidia-graphics-drivers-96 (Ubuntu) |
Fix Released
|
Undecided
|
Daniel van Vugt | ||
Lucid |
Fix Released
|
Undecided
|
Daniel van Vugt |
Bug Description
IMPACT:
The NVIDIA driver fails to build on Ubuntu 10.04 LTS if you have upgraded your kernel to >= 2.6.36. The offending kernel change was commit b19dd42faf413b4
TEST CASE:
Starting with a clean Ubuntu 10.04 installation...
sudo apt-add-repository ppa:kernel-ppa/ppa && sudo apt-get update
sudo apt-get install linux-image-
sudo apt-get install nvidia-current
Installation of nvidia-current will fail for the newer kernel. Now to verify it's the same error at nv.c:417:
tail /var/lib/
("error: unknown field ‘ioctl’ specified in initializer")
FIX:
ifdef out the deprecated structure field, which is no longer present in Linux kernels >= 2.6.36. NVIDIA have already implemented a similar fix upstream, apparently in driver version ~260.19.06 onward.
NOTES:
This seems to be the same bug in both the 96 and 195 series nvidia drivers:
nv.c:244 (nvidia-96 96.43.17-0ubuntu1) == nv.c:417 (nvidia-current 195.36.
REGRESSION POTENTIAL:
Low. We are only #ifdef'ing out a structure member that no longer exists. Its replacement is already present in both newer and older kernels, and is used (redundantly) by the NVIDIA driver source because the removal of the 'ioctl' field had been planned for a long time.
ORIGINAL BUG REPORT:
ProblemType: Package
DistroRelease: Ubuntu 10.04
Package: nvidia-current 195.36.
ProcVersionSign
Uname: Linux 2.6.35-19-generic x86_64
NonfreeKernelMo
Architecture: amd64
Date: Mon Aug 30 15:20:49 2010
ErrorMessage: nvidia-current kernel module failed to build
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100427.1)
Lsusb:
Bus 002 Device 002: ID 1241:1503 Belkin Keyboard
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Gigabyte Technology Co., Ltd. M61P-S3
PackageVersion: 195.36.
ProcCmdLine: BOOT_IMAGE=
SourcePackage: nvidia-
Title: package nvidia-current 195.36.
dmi.bios.date: 06/18/2009
dmi.bios.vendor: Award Software International, Inc.
dmi.bios.version: F7f
dmi.board.name: M61P-S3
dmi.board.vendor: Gigabyte Technology Co., Ltd.
dmi.chassis.type: 3
dmi.chassis.vendor: Gigabyte Technology Co., Ltd.
dmi.modalias: dmi:bvnAwardSof
dmi.product.name: M61P-S3
dmi.sys.vendor: Gigabyte Technology Co., Ltd.
system:
distro: Ubuntu
codename: lucid
architecture: x86_64
kernel: 2.6.35-19-generic
Related branches
- Bryce Harrington: Needs Fixing
- Ubuntu branches: Pending requested
-
Diff: 65 lines (+31/-0)4 files modifieddebian/changelog (+6/-0)
debian/dkms.conf (+2/-0)
debian/dkms.conf.in (+2/-0)
debian/dkms/patches/missing-field-ioctl-2.6.36.patch (+21/-0)
- Ubuntu Development Team: Pending requested
-
Diff: 66 lines (+32/-0)4 files modifieddebian/changelog (+6/-0)
debian/dkms.conf (+2/-0)
debian/dkms.conf.in (+2/-0)
debian/dkms/patches/nvidia-96-missing-field-ioctl-2.6.36.patch (+22/-0)
summary: |
package nvidia-current 195.36.24-0ubuntu1~10.04 failed to - install/upgrade: nvidia-current kernel module failed to build + install/upgrade: nvidia-current kernel module failed to build (nv.c:417: + error: unknown field ‘ioctl’ specified in initializer) |
description: | updated |
Changed in gentoo: | |
importance: | Unknown → Medium |
status: | Unknown → Fix Released |
description: | updated |
Changed in nvidia-graphics-drivers (Ubuntu): | |
assignee: | Alberto Milone (albertomilone) → Daniel van Vugt (vanvugt) |
status: | Confirmed → In Progress |
Changed in nvidia-graphics-drivers-96 (Ubuntu): | |
assignee: | Alberto Milone (albertomilone) → Daniel van Vugt (vanvugt) |
status: | Confirmed → In Progress |
Changed in nvidia-graphics-drivers-96 (Ubuntu Lucid): | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
status: | New → In Progress |
Changed in nvidia-graphics-drivers (Ubuntu Lucid): | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
status: | New → In Progress |
tags: | added: testcase |
description: | updated |
Changed in nvidia-graphics-drivers-96 (Ubuntu): | |
status: | In Progress → Fix Released |
Changed in nvidia-graphics-drivers (Ubuntu): | |
status: | In Progress → Fix Released |
Latest keyworded drivers doesn't build with >=kernel-2.6.36. portage/ x11-drivers/ nvidia- drivers- 256.53/ work/kernel/ nv.c:426: error: unknown field 'ioctl' specified in initializer portage/ x11-drivers/ nvidia- drivers- 256.53/ work/kernel/ nv.c:426: warning: initialization from incompatible pointer type portage/ x11-drivers/ nvidia- drivers- 256.53/ work/kernel/ nv.o] Error 1 /var/tmp/ portage/ x11-drivers/ nvidia- drivers- 256.53/ work/kernel] Error 2
/var/tmp/
/var/tmp/
make[4]: *** [/var/tmp/
make[3]: *** [_module_
nvidia- drivers- 260.19. 12 seems to be the latest stable version from nvidia but its still hardmasked as "beta".
Could we fix the mask?