Cannot build nvidia driver via dkms because compiler doesn't match kernel

Bug #1608753 reported by Wowbagger
32
This bug affects 6 people
Affects Status Importance Assigned to Milestone
One Hundred Papercuts
Invalid
Critical
Unassigned
dkms (Ubuntu)
Invalid
Critical
Unassigned
Nominated for Xenial by Alberto Salvia Novella
gcc-defaults (Ubuntu)
Invalid
Critical
Unassigned
Nominated for Xenial by Alberto Salvia Novella

Bug Description

The kernel installed with 16.04 was built with gcc 5.3.1, but the default compiler installed is 5.4.0 - as such, DKMS refuses to build the nvidia video card driver due to the mismatch. Either build the kernel with the shipping compiler or ship the compiler that was used to build the kernel.

cat /proc/version
Linux version 4.4.0-34-lowlatency (buildd@lgw01-20) (gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2.1) ) #53-Ubuntu SMP PREEMPT Wed Jul 27 19:23:26 UTC 2016
gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.1) 5.4.0 20160609
lsb_release -rd
Description: Ubuntu 16.04.1 LTS
Release: 16.04

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: dkms 2.2.0.3-2ubuntu11.1
ProcVersionSignature: Ubuntu 4.4.0-34.53-lowlatency 4.4.15
Uname: Linux 4.4.0-34-lowlatency x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.20.1-0ubuntu2.1
Architecture: amd64
Date: Mon Aug 1 21:26:15 2016
PackageArchitecture: all
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: dkms
UpgradeStatus: Upgraded to xenial on 2016-07-23 (9 days ago)

Revision history for this message
Wowbagger (ha87psc02) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in dkms (Ubuntu):
status: New → Confirmed
Revision history for this message
Per Heldal (heldal) wrote :

It's not just gcc that has mismatching versions. It's the whole toolchain.

The installed gcc package (according to dpkg) has version 4:5.3.1-1ubuntu1 while the /usr/bin/gcc symlink contained within is pointing to gcc-5.4.0. There is no trace of 5.3.1 binaries on the system, nor are there any available from the repos.

The bug will affect anyone who try to compile and/or link any kernel modules.

Revision history for this message
Per Heldal (heldal) wrote :

Seems like alle the dependency-packages are listed as version 5.3.1 (cpp, g++, gcc etc), but the symlinks within links to 5.4.0 binaries. Anyone trying to compile and/or link kernel-modules will have a problem.

Revision history for this message
Keith Twombley (ktwombley) wrote :

Would this bug be better addressed if filed under gcc rather than dkms?

Doesn't seem to be dkms's fault that the toolchain installs the wrong version of gcc.

Revision history for this message
Per Heldal (heldal) wrote :

When examining repos it seems like the inconsistency was introduced in xenial-updates where packages in the build toolchain was bumped from 5.3.1 to 5.4.0 while the supplied kernel still is built with GCC 5.3.1 and the dependecy-packages that provide symlinks to tool-binaries also remain at version 5.3.1

Package xenial xenial-security xenial-updates
------------------------------------------------------------------------
gcc 4:5.3.1-1ubuntu1
gcc-5 5.3.1-14ubuntu2 5.3.1-14ubuntu2.1 5.4.0-6ubuntu1~16.04.1

The issue of inconsistent versions relates to a number of packages in the chain of build-tools (binaries and libraries) tagged with versions 5.3.1 and/or 5.4.0. DKMS is not to blame.

Changed in gcc-defaults (Ubuntu):
status: New → Confirmed
importance: Undecided → Critical
Changed in dkms (Ubuntu):
importance: Undecided → Critical
status: Confirmed → Invalid
Changed in hundredpapercuts:
status: New → Confirmed
importance: Undecided → Critical
Changed in gcc-defaults (Ubuntu):
status: Confirmed → Triaged
Changed in hundredpapercuts:
status: Confirmed → Triaged
Revision history for this message
Matthias Klose (doko) wrote :

this is not a compiler issue. Apparently you have to build the modules and the kernel with the same version of the compiler, which is now 5.4.x. We usually don't update the dependencies packages, the symlinks stay the same.

Changed in gcc-defaults (Ubuntu):
status: Triaged → Invalid
Revision history for this message
Paul White (paulw2u) wrote :

Further to comment #7, closing Papercuts task.

Changed in hundredpapercuts:
status: Triaged → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.