J'ai un module de noyau qui a été enregistré avec dkms. Lorsqu'une récente mise à niveau a fait passer mon noyau à 4.15.0-50, j'ai commencé à obtenir l'erreur ci-dessous de dkms. Apparemment, le noyau 4.15.0-50 a été compilé avec gcc version 7.3.0, mais une partie de la mise à niveau impliquait l'installation d'une nouvelle version de gcc (7.4.0), ce qui entraîne l'échec de dkms. gcc 7.3 n'est plus disponible sur mon système. Comment installer gcc 7.3 en plus de 7.4, ou même rétrograder 7.4 en 7.3?
DKMS make.log for nvidia-430.14 for kernel 4.15.0-50-generic (x86_64)
Tue May 14 17:08:12 CDT 2019
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-50-generic'
Makefile:976: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel"
SYMLINK /var/lib/dkms/nvidia/430.14/build/nvidia/nv-kernel.o
SYMLINK /var/lib/dkms/nvidia/430.14/build/nvidia-modeset/nv-modeset-kernel.o
Compiler version check failed:
The major and minor number of the compiler used to
compile the kernel:
gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)
does not match the compiler used here:
cc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
It is recommended to set the CC environment variable
to the compiler that was used to compile the kernel.
The compiler version check can be disabled by setting
the IGNORE_CC_MISMATCH environment variable to "1".
However, mixing compiler versions between the kernel
and kernel modules can result in subtle bugs that are
difficult to diagnose.
*** Failed CC version check. Bailing out! ***
/var/lib/dkms/nvidia/430.14/build/Kbuild:182: recipe for target 'cc_version_check' failed
make[2]: *** [cc_version_check] Error 1
make[2]: *** Waiting for unfinished jobs....
Makefile:1552: recipe for target '_module_/var/lib/dkms/nvidia/430.14/build' failed
make[1]: *** [_module_/var/lib/dkms/nvidia/430.14/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-50-generic'
Makefile:81: recipe for target 'modules' failed
make: *** [modules] Error 2
Au lieu d'installer plusieurs versions de gcc, vous pouvez transmettre l'option suivante au programme d'installation nvidia:
--no-cc-version-check
A travaillé pour moi sur Ubuntu 18.04.2, le noyau 4.18.0-20 et nvidia 430.14.
On m'a donné la possibilité, dans mon cas, de compiler de toute façon mais l'installation a échoué. Je pense que j'ai besoin de gcc 7.3. Je me demandais s'il y avait une option avec le compilateur gcc 7.4 pour compiler au v. 7.3.
Quelqu'un d'autre a dit que vous devez avoir les fichiers d'en-tête, mais j'ai reçu un message d'erreur lorsque j'ai essayé de les ajouter.
En l'état, je préférerais avoir le compilateur gcc 7.3, car je n'ai pas vraiment besoin du compilateur gcc 7.4. Je ne savais pas trop comment résoudre ce problème.