Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#46560 - [nvidia] Cannot build with custom kernel 4.2

Attached to Project: Arch Linux
Opened by Nguyễn Duy Hùng (nodohoung) - Monday, 05 October 2015, 02:44 GMT
Last edited by Felix Yan (felixonmars) - Monday, 05 October 2015, 10:22 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Ionut Biru (wonder)
Sven-Hendrik Haase (Svenstaro)
Felix Yan (felixonmars)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
I cannot build nvidia (352 355.11) with custom kernel 4.2.* (tested with 4.2 and 4.2.1)

Additional info:
* package version: 355.11
* kernel version: 4.2, 4.2.1
* error build log:
Building modules, stage 2.
MODPOST 2 modules
FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'flush_workqueue'
scripts/Makefile.modpost:90: recipe for target '__modpost' failed
make[2]: *** [__modpost] Error 1
Makefile:1389: recipe for target 'modules' failed
make[1]: *** [modules] Error 2
make[1]: Leaving directory '/home/hungnd/tmp/linux-4.2.1'
Makefile:81: recipe for target 'modules' failed
make: *** [modules] Error 2
==> ERROR: A failure occurred in build().
Aborting...


Steps to reproduce:
* Build and install custom kernel 4.2.1 to /lib/modules/4.2.1-1 and /lib/modules/extramodules-4.2 (version file point to 4.2.1-1)
* Edit PKGBUILD to:
pkgbase=nvidia-custom
pkgname=(nvidia nvidia-dkms)
pkgver=355.11
_extramodules=extramodules-4.2
pkgrel=3
pkgdesc="NVIDIA drivers for linux"
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
makedepends=('nvidia-libgl' "nvidia-utils=${pkgver}")
* Edit nvidia.install to:
post_install() {
EXTRAMODULES='extramodules-4.2'
* makepkg -sci

Please help me, thanks!
This task depends upon

Closed by  Felix Yan (felixonmars)
Monday, 05 October 2015, 10:22 GMT
Reason for closing:  Upstream
Additional comments about closing:  Fixed in the kernel upstream.
Comment by Felix Yan (felixonmars) - Monday, 05 October 2015, 05:24 GMT
Please apply this patch to your custom kernel: https://lkml.org/lkml/2015/8/4/775
Comment by Ike Devolder (BlackEagle) - Monday, 05 October 2015, 06:05 GMT
There is a workaround for this (not a good solution, but it works)

[code]
diff --git a/kernel/nvidia/nv-frontend.c b/kernel/nvidia/nv-frontend.c
index 65bbb1b..be39c8d 100644
--- a/kernel/nvidia/nv-frontend.c
+++ b/kernel/nvidia/nv-frontend.c
@@ -15,7 +15,7 @@
#include "nv-frontend.h"

#if defined(MODULE_LICENSE)
-MODULE_LICENSE("NVIDIA");
+MODULE_LICENSE("GPL\0NVIDIA");
#endif
#if defined(MODULE_INFO)
MODULE_INFO(supported, "external");
diff --git a/kernel/nvidia/nv.c b/kernel/nvidia/nv.c
index abe81ed..05945b5 100644
--- a/kernel/nvidia/nv.c
+++ b/kernel/nvidia/nv.c
@@ -31,7 +31,7 @@

#if defined(NV_VMWARE) || (NV_BUILD_MODULE_INSTANCES != 0)
#if defined(MODULE_LICENSE)
-MODULE_LICENSE("NVIDIA");
+MODULE_LICENSE("GPL\0NVIDIA");
#endif
#if defined(MODULE_INFO)
MODULE_INFO(supported, "external");
[/code]
Comment by Nguyễn Duy Hùng (nodohoung) - Monday, 05 October 2015, 10:12 GMT
Dear Felix and Ike!
The EXPORT_SYMBOL_GPL has been corrected to EXPORT_SYMBOL in kernel 4.2.3.
Many thanks and best regards!

Loading...