nvidia-304 (not installed): nvidia-304 kernel module failed to build

Bug #1641233 reported by Scott Cowles Jacobs
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
nvidia-graphics-drivers-304 (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

I had used nvidia-304 successfully in Lubuntu 16.04.

With Lubuntu 16.10, it would not load into the kernel.

I just recently downloaded a fixed 304.132 version, which loaded into the kernel, and was
usable, but a program (Hugin) which had started up fine under nouveau (but during the use of which nouveau had screen-crashed, forcing hard-shutdown), failed to start, with the following terminal output:
"
The program 'hugin' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 541 error_code 2 request_code 154 minor_code 24)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
"
Since Hugin had worked fine in Lubuntu 16.04 with nvidia-304 - 304.131,
I found a version of that for Xenial Xerus (304.131-0ubuntu3) at
https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-304, and tried to install that.

It failed to install, however...
"Building initial module for 4.8.0-27-generic
Error! Bad return status for module build on kernel: 4.8.0-27-generic (x86_64)
Consult /var/lib/dkms/nvidia-304/304.131/build/make.log for more information."

I will (try to) attach the log file for the install ("/var/lib/dkms/nvidia-304/304.131/build/make.log"), but here are the lines containing the word "error":
"echo >&2 " ERROR: Kernel configuration is invalid."; \
echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \

...

/var/lib/dkms/nvidia-304/304.131/build/nv-mlock.c:52:11: error: too many arguments to function ‘get_user_pages’
     ret = get_user_pages(current, mm, (unsigned long)address,
           ^~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia-304/304.131/build/nv-linux.h:82:0,
                 from /var/lib/dkms/nvidia-304/304.131/build/nv-mlock.c:15:
./include/linux/mm.h:1315:6: note: declared here
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^~~~~~~~~~~~~~
/var/lib/dkms/nvidia-304/304.131/build/nv-mlock.c:65:13: error: implicit declaration of function ‘page_cache_release’ [-Werror=implicit-function-declaration]
             page_cache_release(user_pages[i]);
             ^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:289: recipe for target '/var/lib/dkms/nvidia-304/304.131/build/nv-mlock.o' failed
make[3]: *** [/var/lib/dkms/nvidia-304/304.131/build/nv-mlock.o] Error 1
Makefile:1489: recipe for target '_module_/var/lib/dkms/nvidia-304/304.131/build' failed
make[2]: *** [_module_/var/lib/dkms/nvidia-304/304.131/build] Error 2
NVIDIA: left KBUILD.
nvidia.ko failed to build!
Makefile:255: recipe for target 'module' failed
make[1]: *** [module] Error 1
makefile:59: recipe for target 'module' failed
make: *** [module] Error 2

"

I am hoping that there is some simple way to get this older version to load/work,
as I am running out of options for being able to run Hugin:
1: nouveau screen-crashes in Hugin (which starts up fine) when I try to open the images from which to make the panorama
2: the fixed nvidia-304.132 loads in the kernal, but Hugin crashes upon starting up
3: the older nvidia-304.131 fails to install
4: I would consider going back to 16.04 (which is in one of 5 partitions which I reserve for different Lubuntu versions as they come along), but grub, in installing 16.10, somehow made booting 16.04 impossible (some sort of Emergency terminal starts up, and I don't know enough of what's happening to know what to do... The partition is fine - I can traverse the directory tree and look at files, etc. but I cannot boot it...)

If anyone knows what is going on when I attempt to install 304.131 here in Lubuntu 16.10,
and can advise me what to do. I would be very grateful.

----------------------------------------------
scott@scott-ASUS-M2N68-AM-PLUS:~$ uname -a
Linux scott-ASUS-M2N68-AM-PLUS 4.8.0-27-generic #29-Ubuntu SMP Thu Oct 20 21:03:13 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
scott@scott-ASUS-M2N68-AM-PLUS:~$ lsb_release -dsc
Ubuntu 16.10
yakkety
scott@scott-ASUS-M2N68-AM-PLUS:~$ echo $DESKTOP_SESSION
Lubuntu

nvidia-graphics-drivers-304 (304.131-0ubuntu3) xenial;
----------------------------------------------

ProblemType: Package
DistroRelease: Ubuntu 16.10
Package: nvidia-304 304.131-0ubuntu3
ProcVersionSignature: Ubuntu 4.8.0-27.29-generic 4.8.1
Uname: Linux 4.8.0-27-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.20.3-0ubuntu8
Architecture: amd64
DKMSKernelVersion: 4.8.0-27-generic
Date: Fri Nov 11 15:48:41 2016
DuplicateSignature: dkms:nvidia-304:(not installed):/var/lib/dkms/nvidia-304/304.131/build/nv-mlock.c:52:11: error: too many arguments to function ‘get_user_pages’
InstallationDate: Installed on 2016-10-20 (22 days ago)
InstallationMedia: Lubuntu 16.10 "Yakkety Yak" - Release amd64 (20161012.1)
PackageVersion: (not installed)
RelatedPackageVersions:
 dpkg 1.18.10ubuntu1
 apt 1.3.1
SourcePackage: nvidia-graphics-drivers-304
Title: nvidia-304 (not installed): nvidia-304 kernel module failed to build
UpgradeStatus: No upgrade log present (probably fresh install)
modified.conffile..etc.modprobe.d.nvidia-304_hybrid.conf: [deleted]

Revision history for this message
Scott Cowles Jacobs (scott092707) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in nvidia-graphics-drivers-304 (Ubuntu):
status: New → Confirmed
Revision history for this message
Scott Cowles Jacobs (scott092707) wrote :

Lubuntu noticed that I had 304.131-0ubuntu3, and Software Updates offered to install the (non-fixed) 304.132-0ubuntu1.

In the changelog displayed, I noted that there was a 304.131-0ubuntu4 and 304.131-0ubuntu5.
but the latest I found at the above website was 304.131-0ubuntu3.

I see from the changelog:
"Version 304.131-0ubuntu5:

  * debian/templates/control.in:
    - Add transitional packages to deprecate the -updates flavour.

Version 304.131-0ubuntu4:

  * debian/templates/dkms.conf.in,
    debian/dkms/patches/buildfix_kernel_4.6.patch:
    - Add support for Linux 4.6."

Since Lubuntu 16.04 used Linux 4.4.xxx, I am guessing that whatever changed in 4.6 that made 304.131-0ubuntu4 necessary is still present in 4.8, and thus possibly that is why 304.131-0ubuntu3 did not work.

Why is there no version higher than 304.131-0ubuntu3 in the official (?) nvidia-graphics-drivers-304 site above?

Where can I find 304.131-0ubuntu5 (at least 304.131-0ubuntu4, but I assume what bug(s) 304.131-0ubuntu5 fixed might somehow be important...)?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. This particular bug has already been reported and is a duplicate of bug 1573508, so it is being marked as such. Please look at the other bug report to see if there is any missing information that you can provide, or to see if there is a workaround for the bug. Additionally, any further discussion regarding the bug should occur in the other report. Feel free to continue to report any other bugs you may find.

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.